对于初始为空的栈S,入栈序列为a、b、c,且每个元素进栈、出栈各1次。则不合法的出栈序列为( )。A.c b aB.c a bC.a b cD.b c a
对于初始为空的栈S,入栈序列为a、b、c,且每个元素进栈、出栈各1次。则不合法的出栈序列为( )。
A.c b a
B.c a b
C.a b c
D.b c a
B.c a b
C.a b c
D.b c a
参考解析
解析:栈的特点是先进后出的,如下图所示,且每个元素进栈、出栈各1次,经分析c第一个出栈的话,后面只能跟b,不可能跟a。所以B选项的出栈顺序是不合理的。
相关考题:
若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为(29)。A.321B.213C.231D.123
若pllsh、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ______。A.321B.213C.231D.123A.B.C.D.
已知栈S 初始为空,用 I 表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈 S 得到出栈序列a2a4a5a3a1的合法操作序列( )。A.IIOIIOIOOOB.IOIOIOIOIOC.IOOIIOIOIOD.IIOOIOIOOO
设有初始力空的栈s,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素迸栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为( )。A.c d b aB.c b d aC.c d a bD.c b a d
●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,则操作序列push、pop、pop、push、push、pop (36)。(36)A.得到出栈序列为abcB.得到出栈序列为bacC.得到出栈序列为bcaD.是非法的操作序列
对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为( )。 A. d c b aB. d a b cC. d c a bD. d b c a
对于初始为空的栈S,入栈序列为a、b、c、d、e,且每个元素进栈、出栈各1次。则不合法的出栈序列为( )A.a b c d eB.e d c b aC.e d a b cD.a c b e d
已知栈S初始为空,用I表示入栈、O表示出栈,若入栈序列为a1a2a3a4a5,则通过栈S得到出栈序列a2a4a5a3a1的合法操作序列(58)。A.IIOIIOIOOOB.IOIOIOIOIOC.IOOIIOIOIOD.IIOOIOIOOO
假设以S和X分别表示入栈和出栈的操作,则初态和终态均为空栈的入栈和出栈的操作序列可以表示为仅由S和X组成的序列。称可以操作的序列为合法序列(例如,SXSX为合法序列,SXXS为非法序列)。试给出区分给定序列为合法序列或非法序列的一般准则,并证明:两个不同的合法(栈操作)序列(对同一输入序列)不可能得到相同的输出元素(注意:在此指的是元素实体,而不是值)序列。
单选题设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,f,e,c,a,则栈S的容量至少应该是()A6B5C4D3