问题
单项选择题
以下哪一个不是栈的基本运算
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删除栈底元素是不正确的.