问题 单项选择题

设栈S的初始状态为空,队列Q的状态是:
__________________
b c a d e
__________________
↑ ↑
队头 队尾
逐个删除队列中的元素并依次入栈,若出栈的顺序是acedb,在上述操作过程中,栈中最多有______个元素。

A.4

B.3

C.2

D.1

答案

参考答案:B

解析:[评析] 由于队只能先进先出,所以我们很容易知道这几个元素的进栈顺序是(我们暂时刁;关心出栈的问题): b、 C、 a、 d、 e。
再看出栈的顺序:acedb,可知进出栈的过程是这样的:
进栈 出栈 栈中
b b
C c、b
a a、c、b
a c、b
c b
d d、b
e e、d、b
e d、b
d b
b 空
一目了然:栈中最多时有3个元素。

填空题
单项选择题