参考答案和解析
参考答案:B
更多“若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为( )。 A. 4B. 5C. 6#7”相关问题
  • 第1题:

    若pllsh、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ______。

    A.321

    B.213

    C.231

    D.123

    A.

    B.

    C.

    D.


    正确答案:B

  • 第2题:

    a、b、c、d、e、f依次进栈、进栈、出栈、进栈、进栈、出栈的操作,则操作完后,栈S的栈顶元素为()。

    A.a

    B.b

    C.c


    答案:C

  • 第3题:

    设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( )。

    A.abcB.acb C.cab D.Cba


    正确答案:C

  • 第4题:

    若进栈次序为a,b,e,且进栈和出栈可以穿插进行,则可能出现的含3个元素的出栈序列个数是 ( )

    A.3

    B.5

    C.6

    D.7


    正确答案:B

  • 第5题:

    若三个数字1、2、3的进栈顺序为1,2,3,且进栈和出栈可以穿插进行,写出所有可能的出栈序列.


    正确答案:

    (1)1,2,3(2)1,3,2(3)2,1,3
    (4)2,3,1(5)3,2,1
    [解析]本题不要求一次全部进栈,五种出栈序列是这样形成的:
    (1)数字1进栈、出栈,数字2进栈、出栈,数字3进栈、出栈.
    (2)数字1进栈、出栈,数字2进栈,数字3进栈,3出栈.2出栈.
    (3)数字1、2进栈,2出栈,1出栈,数字3进栈、出栈.
    (4)数字1、2进栈,2出栈,数字3进栈,数字3出栈,数字1出栈.
    (5)数字1、2、3依次全部进栈,再依次全部出栈.本题如果要求一次全部进栈后再出栈,则出栈序列只有(5)这一种答案.

  • 第6题:

    若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( )。

    A.dcebta
    B.cbdaef
    C.bcaetd
    D.afedcb

    答案:D
    解析:
    本题考查数据结构基础知识。
    对于选项A的出栈序列dcebfa,其操作序列为:push(a入)、push(b入)、push(c入)、push(d入)、pop(d出)、pop(c出)、push(e入)、pop(e出)、pop(b出)、push(f入)、pop(f出)、pop(a出)。
    对于选项B的出栈序列cbdaef,其操作序列为:push(a入)、push(b入)、push(c入)、pop(c出)、pop(b出)、push(d入)、pop(d出)、pop(a出)、push(e入)、pop(e出)、push(f入)、pop(f出)。
    对于选项C的出栈序列bcaefd,其操作序列为:push(a入)、push(b入)、pop(b出)、push(c入)、pop(c出)、pop(a出)、push(d入)、push(e入)、pop(e出)、push(f入)、pop(f出)、pop(d出)。
    对于选项D的出栈序列afedcb,其操作序列为:push(a入)、pop(a出)、push(b入)、push(c入)、push(d入)、push(e入)、push(f入)、pop(f出)、pop(e出)、pop(d出)、pop(c出)、pop(b出),存在连续5次的出栈操作,违背题中所述的运算要求。

  • 第7题:

    已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列( )

    A.IIOIIOIOOO
    B.IOIOIOIOIO
    C.IOOIIOIOIO
    D.IIOOIOIOOO

    答案:A
    解析:

  • 第8题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为( )

    A.d c b a
    B.d a b c
    C.d c a b
    D.d b c a

    答案:A
    解析:
    题干要求d第一个出栈,所以入栈的次序为a,b,c,d,栈的特点是先进后出的,如下图所示,且每个元素进栈、出栈各1次,所以出栈序列为d,c,b,a。

  • 第9题:

    若序列a、b、c、d、e按顺序入栈,假设P表示入栈操作,S表示出栈操作,则操作序列PSPPSPSPSS后得到的输出序列为()


    正确答案:acdeb

  • 第10题:

    设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题: (1)若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈) (2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。 (3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。


    正确答案:(1)出栈序列为:1324
    (2)不能得到1423序列。因为要得到14的出栈序列,则应做
    Push(1),Pop(),Push(2),Push(3),Push(4),Pop()。这样,3在栈顶,2在栈底,所以不能得到23的出栈序列。能得到1432的出栈序列。具体操作为:Push(1),Pop(),Push(2),Push(3),Push(4),Pop(),Pop(),Pop()。
    (3)在1,2,3,4的24种排列中,可通过相应入出栈操作得到的序列是:1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3214,3241,3421,4321
    不能得到的序列是:
    1423,2413,3124,3142,3412,4123,4132,4213,4231,4312

  • 第11题:

    单选题
    设abcdef以所给的次序进栈,若在进栈操作时,允许出栈操作,则下面得不到的出栈序列为()。
    A

    fedcba

    B

    bcafed

    C

    dcefba

    D

    cabdef


    正确答案: A
    解析:

  • 第12题:

    填空题
    栈的特点是(),队列的特点是(),栈和队列都是()。若进栈序列为1,2,3,4 则()不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则()是一个出队列序列。

    正确答案: 后进先出,先进先出,限制存取点的线性结构,4,2,3,1,1,2,3,4
    解析: 暂无解析

  • 第13题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为()。

    A.dcba

    B.dabc

    C.dcab

    D.dbca


    正确答案:A

  • 第14题:

    a、b、c、d、e、f依次进栈、进栈、出栈、进栈、进栈、出栈、进栈的操作,则操作完后,栈S的栈顶元素为()。

    A.a

    B.b

    C.d


    答案:C

  • 第15题:

    若元素a、b、c、d、e、f 依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( )。

    A. dcebfa B. cbdaef C. bcaefd D. afedcb


    正确答案:D

  • 第16题:

    ●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,

    则操作序列push、pop、pop、push、push、pop (36)。

    (36)

    A.得到出栈序列为abc

    B.得到出栈序列为bac

    C.得到出栈序列为bca

    D.是非法的操作序列


    正确答案:D

  • 第17题:

    若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ( )

    A.321
    B.213
    C.231
    D.123

    答案:B
    解析:
    栈的运算特点为在同一端插入和删除元素,即先入后出,总是栈顶元素先出栈,新元素总是压在栈顶元素之上并成为栈顶元素。初始栈为空,如下图(a)所示。对于元素 1、2、3,依照操作序列push、push、pop、pop、push、pop,可以得到出栈序列213,其过程为:第一个push操作将元素1压入栈中,如下图(b)所示:第二个push操作将元素2压入栈中,如下图(c)所示:第一个pop将栈顶元素2弹出栈,新栈顶元素为1,如下图(d)所示;第二个pop将栈顶元素1弹出栈,导致栈空,如下图(e)所示:其后的push和pop分别将元素3压入和弹出栈,操作结果如下图(f)和(g)所示。

  • 第18题:

    对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为( )。

    A. d c b a
    B. d a b c
    C. d c a b
    D. d b c a

    答案:A
    解析:

  • 第19题:

    设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( ).

    A.abc
    B.acb
    C.cab
    D.Cba

    答案:C
    解析:
    C中cba意味着c先出栈,此时b与a仍在栈中,按照先进后出的原则,这时候只能是按照ba出栈。

  • 第20题:

    若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为()。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:B

  • 第21题:

    栈的特点是(),队列的特点是(),栈和队列都是()。若进栈序列为1,2,3,4 则()不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则()是一个出队列序列。


    正确答案:后进先出;先进先出;限制存取点的线性结构;4,2,3,1;1,2,3,4

  • 第22题:

    问答题
    设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题: (1)若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈) (2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。 (3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。

    正确答案: (1)出栈序列为:1324
    (2)不能得到1423序列。因为要得到14的出栈序列,则应做
    Push(1),Pop(),Push(2),Push(3),Push(4),Pop()。这样,3在栈顶,2在栈底,所以不能得到23的出栈序列。能得到1432的出栈序列。具体操作为:Push(1),Pop(),Push(2),Push(3),Push(4),Pop(),Pop(),Pop()。
    (3)在1,2,3,4的24种排列中,可通过相应入出栈操作得到的序列是:1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3214,3241,3421,4321
    不能得到的序列是:
    1423,2413,3124,3142,3412,4123,4132,4213,4231,4312
    解析: 暂无解析

  • 第23题:

    填空题
    若序列a、b、c、d、e按顺序入栈,假设P表示入栈操作,S表示出栈操作,则操作序列PSPPSPSPSS后得到的输出序列为()

    正确答案: acdeb
    解析: 暂无解析