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