设栈的初始为空,元素a,b,c,d,e,f,g依次入栈,



设栈的初始为空,元素a,b,c,d,e,f,g依次入栈,以下出栈序列不可能出现的是
A,a,b,c,d,e,f,g
B,f,c,a,b,e,g,d
C,d,c,f,e,b,a,g
D,a,e,d,c,b,f,g

B 不可能
A: a进a出 –> b进b出 –> c进c出 以此类推
C:a,b,c,d依次进栈 –> d出 c出 –> e,f进 –> f,e,b,a 依次出 –>最后g进g出
D:a进a出 –>b,c,d,e依次进栈 –> e,d,c,b 依次出栈 –> f进f出 –> g进g出
总之遵循 先进先出 的原则
还是不明白的话 可以画个图 一层层放 后进的放在最上面 最上面的必须先出

一个栈的入栈序列为A B C D E 则不可能的输出序列为

给解释下原因谢谢我要是明白了给加分晕忘了给选项了抱歉1。EDCBA2。DECBA3。DCEAB4。ABCDE…
选3

堆栈讲究先进后出,后进先出
选项1是abcde先入栈,然后依次出栈,正好是edcba

选项2是abcd先依次入栈,然后d出栈,e再入栈,e出栈

选项3是错误的,不可能a先出栈

选项4是a入栈,然后a出栈;b再入栈,b出栈。。。。。。依此类推


所以选3

选择题吧

栈的原理是先进后出
也就是说如果 ABCDE全进 出来的可能性只有EDCBA

当然也可以出现这样的情况ABCDE ABCDE 为什么呢
进A 出a 进b 出b ……

我接这种题目的话都是把它的入栈顺序看看 就大概能得出结果了

应该是这样
有A B
如果A在B之前入栈
那么在两者都不出栈前
不可能出现A 在B的前面的情况 比如EDCAB是不可能的
这个东西其实推回来原来的入栈顺序会简单的多我觉得