问题 单项选择题

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

A.得到出栈序列为abc

B.得到出栈序列为bac

C.得到出栈序列为bca

D.是非法的操作序列

答案

参考答案:D

解析:

本题考查栈数据结构的基本运算。

栈的运算特点是后进先出。在容量有限的情况下,栈满时不能再加入元素,栈空时不能从栈顶删除元素。

题目中的栈初始时为空,对于元素序列abc,第一个push操作是令a入栈,接下来可以令后续的元素入栈或令栈顶的a出栈,操作序列的下一个操作为pop,因此,接下来是a出栈,此时栈变为空,因此,操作序列的第二个pop操作将出错,因此,题目中的操作序列是非法的。

单项选择题
多项选择题