如题图所示,在栈的输入端元素的输入顺序为A,5,8,试写出在栈的输出端可以得到的以数字开头的所有输出序列,并写出进栈、出栈的操作过程(用push(x)表示X进栈,pop(x)表示x出栈)。

【正确答案】:
共3种。
85A:PUSH(A),PUSH(5),PUSH(8),POP(8),POP(5),POP(A)。
58A:PUSH(A),PUSH(5),POP(5),PUSH(8),POP(8),POP(A)。
5A8:PUSH(A),PUSH(5),POP(5),POP(A),PUSH(8),POP(8)。
【题目解析】:
栈的修改原则是后进先出。注意:题干中“以数字开头的所有输出序列”,故
A进,5进,8进,8出,5出,A出,即输出序列:85A。
A进,5进,5出,8进,8出,A出,即输出序列:58A。
A进,5进,5出,A出,8进,8出,即输出序列:5A8。