已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:voidmakeEmpty(SqStacks);置空栈voidpush(SqStacks,ElemTypee);元素e入栈ElemTypepop(SqStacks);出栈,返回栈顶元素intisEmpty(SqStacks);判断栈空队列的ADT函数有:voidenQueue(Queueq,ElemTypee);元素e入队ElemTypedeQueue(Queueq);出队,返回队头元素intisEmpty(Queueq);判断队空
第1题:
设栈s和队列Q的初始状态为空,元素a、b、c、d、e和f依次通过栈s,一个元素出栈后即进入队列Q,若6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该是( )。
A)6
B)4
C)3
D)2
第2题:
设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是( )。A.6B.4C.3D.2
第3题:
设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、s5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1则栈S的容量至少应是【 】。
第4题:
设栈S的初始状态为空,队列Q的初始状态如图所示。
对栈S和队列Q进行下列两步操作: (1)删除Q中的元素,将删除的元素插入S,直至Q为空。 (2)依次将S中的元素插入Q,直至S为空。在上述两步操作后,队列Q的状态是【 】。
第5题:
设栈s和队列q的初始状态为空,元素a、b、c、d、e依次进入栈s,当一个元素从栈中出来后立即进入队列q。若从队列的输出端依次得到元素c、d、b、a、e,则元素的出栈顺序是(26),栈s的容量至少为(27)。
A.a、b、c、d、e
B.-e、d、c、b、a
C.c、d、b、a、e
D.e、a、b、d、c
第6题:
● 设栈 s 和队列 q 的初始状态为空,元素 a、b、c、d、e 依次进入栈 s,当一个元素从栈中出来后立即进入队列 q。若从队列的输出端依次得到元素 c、d、b、a、e,则元素的出栈顺序是 (26) ,栈 s 的容量至少为 (27) 。
(26)
A. a、b、c、d、e
B. e、d、c、b、a
C. c、d、b、a、e
D. e、a、b、d、c
(27)
A. 2
B. 3
C. 4
D. 5
第7题:
设栈S和队列Q的初始状态为空。元素a、b、c、d、e、f依次通过栈S,并且一个元素出栈后即进入队列Q,若出队的顺序为b、d、c、f、e、a,则栈S的容量至少应该为______。
A.3
B.4
C.5
D.6
第8题:
● 设栈 S 和队列 Q 的初始状态为空,元素按照 a、b、c、d、e 的次序进入栈 S,当一个元素从栈中出来后立即进入队列 Q。若队列的输出元素序列是 c、d、b、a、e,则元素的出栈顺序是 (58) ,栈 S的容量至少为 (59) 。
(58)
A. a、b、c、d、e
B. e、d、c、b、a
C. c、d、b、a、e
D. e、a、b、d、c
(59)
A. 2
B. 3
C. 4
D. 5
第9题:
设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入栈队列Q,若6个元素出队的顺序是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是______。
A.6
B.4
C.3
D.2
第10题:
设有栈S和队列Q,其初始状态为空,元素a1、a2、83、a4、85、86依次入栈,出栈的元素则进入队列Q,若6个元素出栈的顺序是g2、a4、83、86、s5、a1,则栈的容量至少是 ( )
A.6
B.4
C.3
D.2