问题 单项选择题

(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运算是把栈顶元素读到变量中,而不是删除元素。

单项选择题
多项选择题