设A、B、C、D、E五个元素依次进栈(进栈后可立即出栈),问能否得到下列序列: (1)A,B,C,D,E; (2)A,C,E,B,D 若能得到,刚给出该序列的操作过程(用push(A)表示A进栈,pop(A)表示A出栈);若不能,则说明理由。
设A、B、C、D、E五个元素依次进栈(进栈后可立即出栈),问能否得到下列序列: (1)A,B,C,D,E; (2)A,C,E,B,D 若能得到,刚给出该序列的操作过程(用push(A)表示A进栈,pop(A)表示A出栈);若不能,则说明理由。
【正确答案】:(1)能 (2)不能(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先出栈。
Top