简答题
👁️ 浏览量:

试题题干

设A、B、C、D、E五个元素依次进栈(进栈后可立即出栈),问能否得到下列序列:(1)A, B, C, D, E;(2)A,C, E, B, D
若能得到,刚给出该序列的操作过程(用push(A)表示A进栈,pop(A)表示A出栈);若不能,则说明理由。

参考答案

试题解析

(1)能,操作过程为:push(A),pop(A),push(B),pop(B),push(C),pop(C),push(D),pop(D),push(E),pop(E)
(2)不能,不能的理由:对序列(2)中的E,B,D而言,E最先出栈,此时B和D均在栈中,由于B先于D进栈,所以应有D先出栈