问题 单项选择题

设栈S和队列Q的初始状态为空,元素按照a、b、c、d、e的次序进入栈S,当一个元素从栈中出来后立即进入队列Q。若队列的输出元素序列是c、d、b、a、e,则元素的出栈顺序是()。

A.e、a、b、d、c

B.e、d、c、b、a

C.c、d、b、a、e

D.a、b、c、d、e

答案

参考答案:C

解析:

[要点解析] 栈是先进后出的线性表,而队列是先进先出的线性表。若队列的输出元素序列为c、d、b、a、e,则进入队列的元素序列也为c、d、b、a、e,这也是从栈中出来的元素序列。 若元素以a、b、c、d、e的次序进入栈S且得到输出序列c、d、b、a、e,则操作系列为a入栈、b入栈、c入栈、c出栈、d入栈、d出栈、b出栈、a出栈、e入栈、e出栈。第一个出栈的元素为c,则C出栈时元素a和b尚在栈中,因此栈S的容量至少为3。

单项选择题
单项选择题