问题 单项选择题

设push、pop分别表示入栈、出栈操作,若初始栈为空,一对于元素序列abc,则操作序列push、pop、pop、push、push、pop()。

A.得到出栈序列为a b c

B.得到出栈序列为b a c

C.得到出栈序列为b c a

D.是非法的操作序列

答案

参考答案:D

解析:

本题考查栈数据结构的基本运算。栈的运算特点是后进先出。在容量有限的情况下,栈满时不能再加入元素,栈空时不能从栈顶删除元素。题目中的栈初始时为空,对于元素序列abc,第一个push操作是令a入栈,接下来可以令后续的元素入栈或令栈顶的a出栈,操作序列的下一个操作为 pop,因此,接下来是a出栈,此时栈变为空,因此,操作序列的第二个pop操作将出错,因此,题目中的操作序列是非法的。

选择题
单项选择题