若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现?

A. 5,4,3,2,1
B. 2,1,5,4,3
C. 4,3,1,2,5
D. 2,3,5,4,1
不是要编程,我只想知道为什么选C,请详细解释以下,我同学说1不可能在2前面出栈这样说对不对?我不懂,求解释

答案是C。

    根据栈的后进先出的性质,栈顶元素可能是1,2,3,4,5也就是出栈序列的第一个元素可能为1,2,3,4,5对于5,4,3,1,2,我解释下,其他可以类推:

    若想3先出栈,那么必须1和2已经进栈,然后3进栈,3再出栈(序列:3),而【此时栈的栈顶元素】为2,所以第二个出栈的元素不可能是1,而只能是2,所以此时的出栈序列必为:321

    以此类推,出栈次序不可能出现C.4,3,1,2,5

出栈顺序所有可能:

    12345,12354,12435,12543,13245,13254,14325,15432

    21345,21435, 21543,23145,23154,23415,23451,23541,24315,24351,24531  25431

    32145  32154  32415  32451  32541  34215  34251  34521  35421

    43215  43251  43521  45321

    54321

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-13

重点:五个元素可以不是一次性进栈、一次性出栈。

A:是五个元素一次性进栈,即1,2,3,4,5进栈。然后一次性出栈即5,4,3,2,1。可能

B:先让1,2进栈,然后出栈即2,1;再然后让3,4,5进栈,出栈为5,4,3;即总出栈顺序为2,1,5,4,3。可能

D:先让1,2进栈,然后出栈2;再让3进栈,又让3出栈;让4,5进栈,让后出栈剩余元素5,4,1;即总出栈顺序为2,3,5,4,1。可能

C:要满足题目条件1,2,3,4,5顺序进栈,根据出栈顺序先为4,3,则剩下三个元素的出栈顺序可能性有:215,521。即以4,3开头的总出栈的可能有:43215、43521。不可能

选C

第2个回答  推荐于2017-11-25
你同学说的是错的,栈的规则是先进后出,吐过刚进去就出来,可以得到1,2,3,4,5.
C错的原因是因为4,3先出来的,表示1刚开始没有出来,所以1不可能比2先出来。。本回答被提问者和网友采纳
第3个回答  2012-12-15
栈是先进后出,题中c的进法是1进2进3进4进4出3出后应该是2出,不是1出
第4个回答  2018-01-10
栈是后进先出,C1,2,3,4进栈4出栈3出栈1不可能比2先出栈
相似回答