首页 > 试题广场 >

一个栈的进栈序列是 a , b , c , d

[单选题]
一个栈的进栈序列是 a b c d e ,则栈的不可能的输出序列是
  • edcba
  • decba
  • dceab
  • abcde
im头像 im
c
发表于 2017-12-07 12:30:34 回复(0)
更多回答
A:push push push push push pop pop pop pop pop 
B:push push push push pop push pop pop pop pop
C:错
D:push pop push pop push pop push pop push pop
我的理解:
网上查到的资料是
对于出栈序列的每一个元素,该元素后比该元素先入栈的一定按照降序排列。
A.比如说第一个是e,比e先进的有abcd,所以说明e进来的时候abcd已经全部进栈了,所以只能是edcba,e的后面都是降序,嗯,没毛病。
B.第一个是d,比d先进的有abc,我们可以看到序列中出现的abc都是降序的,嗯,也没毛病。
C.第一个是d,比d先进的有abc,但是我们可以发现后面出现了ab,而不是ba,所以***了。错。
D.第一个是a,没有谁比a更先进栈,所以a可以随时出栈,后面的都是一样的道理。

因此,看一道题问出栈序列对不对时这一条规矩很有用
发表于 2018-08-21 10:26:59 回复(1)
A.abcde进栈,先进后出,则出栈为edcba。
B.abcd进栈,d先出栈,e进栈,然后e出栈,cba依次出栈。
C.错误。abcd进栈,d出栈,c出栈。e进栈后再出栈,但此时栈内元素有ab,a在栈底,b在栈顶。因此b应该先出栈。正确顺序应该为dceba。
D.a进栈后出栈,b进栈后出栈,而后的元素均进栈后立即出栈,顺序合理。
发表于 2018-10-24 00:38:02 回复(0)
按照题目给定入栈,但是出栈不一定按照这个顺序。以下为入栈和出栈顺序
A:push push push push push pop pop pop pop pop 
B:push push push push pop push pop pop pop pop
C:错
D:push pop push pop push pop push pop push pop
发表于 2018-04-27 23:12:21 回复(0)