问题
单项选择题
设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操作将出错,因此,题目中的操作序列是非法的。