设顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n,a2n-1,…,a1,要求通过一个循环队列重新排列栈中元素,使得从栈顶到栈底的元素依次为a2n,a2n-2,…,a2,a2n-1,a2n-3,…,a1,请设计算法实现该操作,要求空间复杂度和时间复杂度均为O(n)。

设顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n,a2n-1,…,a1,要求通过一个循环队列重新排列栈中元素,使得从栈顶到栈底的元素依次为a2n,a2n-2,…,a2,a2n-1,a2n-3,…,a1,请设计算法实现该操作,要求空间复杂度和时间复杂度均为O(n)。


相关考题:

假如用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有19个元素。() 此题为判断题(对,错)。

设有栈S和队列Q,其初始状态为空,元素a1、a2、a3、a4、a5、a6依次入栈,出栈的元素则进入队列Q,若6个元素出列的顺序是02、a4、a3、a6、a5、a1,则栈的容量至少要有几个单元?A.6B.4C.3D.2

设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为()。A.30B.29C.20D.19

设栈s和队列Q的初始状态为空,元素a、b、c、d、e和f依次通过栈s,一个元素出栈后即进入队列Q,若6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该是( )。A)6B)4C)3D)2

设栈s和队列q的初始状态为空,元素a、b、c、d、e依次进入栈s,当一个元素从栈中出来后立即进入队列q。若从队列的输出端依次得到元素c、d、b、a、e,则元素的出栈顺序是(26),栈s的容量至少为(27)。A.a、b、c、d、eB.-e、d、c、b、aC.c、d、b、a、eD.e、a、b、d、c

假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。

假设用-个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。A.50B.19C.1D.20

假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bosom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有______个元素。

假设用一个长度为50的数组成(数组元素的下标从0到49)作为栈的存储窨,栈底指标bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【 】个元素。

设有栈S和队列Q,其初始状态为空,元素a1、a2、83、a4、85、86依次入栈,出栈的元素则进入队列Q,若6个元素出栈的顺序是g2、a4、83、86、s5、a1,则栈的容量至少是 ( )A.6B.4C.3D.2

假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有【 】个元素。

若需将一个栈S中的元素逆置,则以下处理方式中正确的是 ____。A.将栈S中元素依次出栈并入栈T,然后栈T中元素依次出栈并进入栈SB.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈SC.直接交换栈顶元素和栈底元素D.直接交换栈项指针和栈底指针A.B.C.D.

设有栈S和队列Q,其初始状态为空,元素a1、a2、a3、a4、a5、a6依次入栈,出栈的元素进入队列Q,若6个元素出队列的顺序是a2、a4、a3、a6、a5、a1,则栈的容量至少是______。A.6B.4C.3D.2

设有栈S和队列Q,其状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素则进入队列Q,若6个元素出队列的顺序是a2,a3,a4,a6,a5,a1,则栈的容量至少是A.6 B.4 C.3 D.2

若需将一个栈S中的元素逆置,则以下处理方式中正确的是(63)。A.将栈S中元素依次出栈并入栈T,然后将栈T中元素依次出栈并进入栈SB.直接交换栈顶元素和栈底元素C.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈SD.直接交换栈顶指针和栈底指针

设栈S和队列Q的初始状态均为空,元素a1、a2、a3、a4、a5、a6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是a2、a4、a3、a6、a5、a1,则栈S的容量至少应是( )。A.2B.3C.4D.6

假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。A.50B.19C.1D.20

设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为( )。A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC

假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。

设栈S和队列O的初始状态为空,元素a、b、c、d、e和f依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该是( )。A.6B.4C.3D.2

以下哪一个不是栈的基本运算( )。A)往栈中任意位置插入一个元素B)从栈中删除一个元素C)把栈的栈顶元素读到变量中D)将栈置为空栈

设栈S和队列Q的初始状态均为空,元素abcdefg依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是bdcfeag,则栈S的容量至少是()。A.1B.2C.3D.4

设栈S和队列Q的初始状态为空,元素a b c d e f g依次进入栈S。要求每个元素出栈后立即进入队列Q,若7个元素出队列的顺序为b d f e c a g,则栈S的容量最小应该是(58)。A.5B.4C.3D.2

已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:voidmakeEmpty(SqStacks);置空栈voidpush(SqStacks,ElemTypee);元素e入栈ElemTypepop(SqStacks);出栈,返回栈顶元素intisEmpty(SqStacks);判断栈空队列的ADT函数有:voidenQueue(Queueq,ElemTypee);元素e入队ElemTypedeQueue(Queueq);出队,返回队头元素intisEmpty(Queueq);判断队空

设栈S和队列Q的初始状态为空,元素a.b.c.d.e.f依次通过栈S,一个元素出栈后即进入队列Q。若这6个元素出队列的顺序是bdcfea.则栈S的容量至少应是()。

填空题设栈S和队列Q的初始状态为空,元素a.b.c.d.e.f依次通过栈S,一个元素出栈后即进入队列Q。若这6个元素出队列的顺序是bdcfea.则栈S的容量至少应是()。

单选题设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为(  )。A30B29C20D19