设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