首页 > 试题广场 >

按e1,e2,e3,e4的次序进栈(中间可能有出栈操作,例如

[单选题]
按e1,e2,e3,e4的次序进栈(中间可能有出栈操作,例如e1进栈后出栈,e2再进栈),则可能的出栈系列是 :
  • e3,e1,e4,e2
  • e2,e4,e3,e1
  • e3,e4,e1,e2
  • 任意系列
推荐
答案:B
A,e3出栈代表e1,e2已经入栈,这种情况下e2必在e1之前出栈,所以A错误
B,出栈的可能性有多种,这是在其中一种。
    出入栈顺序为e1,e2入栈,e2出栈,e3,e4入栈,然后栈内所有元素依次出栈
C,错误,原因同A 

编辑于 2015-02-04 16:00:52 回复(1)
假设入栈元素从小到大,出栈的每个元素后面比该元素小的元素,应该按从大到小的相对顺序排列。

比如数字元素1、2、3依次进栈,

出栈顺序可能是 1、2、31、3、2 2、1、3  2、3、1 3、2、1

但不可能是 3、1、2 的出栈顺序。

因为比3小的元素有1、2,他们应该按从大到小的相对顺序排列,即3、2、1


发表于 2020-07-06 10:17:40 回复(0)
1234入栈,当最后一个4入栈操作完成之后,能进行的只有出栈操作,根据栈先进后出的原则,后续出栈的必然是从大到小的顺序,如4321,如果出现了不是,从大到小,则必然是错误的
发表于 2022-03-28 22:04:56 回复(0)
利用栈模拟,如果弹出序列的下一个不在栈顶,就从压栈序列中压入,直至找到,然后再弹出,如果出现冲突则说明不是该压栈序列可能对应的弹出序列
发表于 2016-08-31 22:51:14 回复(0)