问题 单项选择题


以下哪一个不是栈的基本运算

A.删除栈顶元素

B.删除栈底元素

C.判断栈是否为空

D.将栈置为空栈

答案

参考答案:B

解析: 栈是限定仅在表的一端进行插入和删除运算的线性表,这一端称为栈顶 (top),另一端称为栈底(bottom)。具有后进先出 (LIFO)的操作原则。栈的基本运算有5种: push(S,x) 往栈S中插入一个值为x的元素; pop(S) 从栈S中删除一个元素; top(S,x) 把栈S中的栈顶元素读到变量x中,栈保持不变; empty(S) 判断栈S是否为空栈,是则返回值为真; makempty(S)将栈S置为空栈。 对照以上解释,可知选项B(删除栈底元素)不包括在以上5种操作中,而选项A、C、D包括在以上5种操作中,因此本题的答案是B。 本题也可以通过栈的基本定义判断。由栈的基本定义可知只能对栈顶进行操作,而不能对栈底进行操作,因此选项B删除栈底元素是不正确的.

填空题
名词解释