问题
单项选择题
(8)至(9)题基于以下描述:有一个初始为空的栈和下面的输入序列A,B,C,D, E,F,G;现经过女口下操作:push,push,pop,push,push,top,push,pop,popo |
以下哪一个是从栈中删除元素的序列
A.BED
B.BDE
C.BEDC
D.BDEC
答案
参考答案:A
解析: 栈是限定在表的一端进行插入和删除操作的线性表。push运算是往栈中插入一个元素,pop运算是从栈中弹出一个元素,top运算是把栈顶元素读到变量中,栈保持不变。 按照题目中给出的操作序列,操作过程为: push 将A插入栈中。栈中元素列表(丛底到顶)为A。 push 将B插入栈中。栈中元素列表(丛底到顶)为A为B。 pop 将栈顶元素B从栈中删除。栈中元素列表 (丛底到顶)为A。 push 将C插入栈中。栈中元素列表(丛底到顶)为AC。 push 将D插入栈中。栈中元素列表(丛底到顶)为ACD。 top 将栈顶元素D读到一个变量,栈保持不变。栈中元素列表(丛底到顶)为ACD。 push 将E插入栈中。栈中元素列表(丛底到顶)为ACDE。 pop 将栈顶元素E从栈中删除。栈中元素列表 (丛底到顶)为ACD。 pop 将栈顶元素D从栈中删除。栈中元素列表 (丛底到顶)为AC。 删除元素的序列即为BED, 因此本题的答案为A。 注意:top运算是把栈顶元素读到变量中,而不是删除元素。