试题详情
- 简答题设顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n,a2n-1,…,a1,要求通过一个循环队列重新排列栈中元素,使得从栈顶到栈底的元素依次为a2n,a2n-2,…,a2,a2n-1,a2n-3,…,a1,请设计算法实现该操作,要求空间复杂度和时间复杂度均为O(n)。
- 操作步骤为:
①将所有元素出栈并入队;
②依次将队列元素出队,如果是偶数结点,则再入队,如果是奇数结点,则入栈;
③将奇数结点出栈并入队;
④将偶数结点出队并入栈;
⑤将所有元素出栈并入队;
⑥将所有元素出队并入栈即为所求。 关注下方微信公众号,在线模考后查看
热门试题
- 假定利用数组a[m]顺序存储一个栈,用t
- 循环队列的优点是什么?在循环队列中,仅依
- 如果希望循环队列中的元素都能得到利用,则
- 直接选择排序是一种不稳定的排序方法。
- 栈是线性结构。
- 在一棵二叉树中,若编号为8的结点存在右孩
- 如果t2是由序树t转换而来的二叉树,那么
- 对矩阵进行压缩存储是为了()。
- 假定利用数组a[n]顺序存储一个栈,用t
- 顺序存储结构的特点是(),链接存储结构的
- 广义表的表尾一定是一个广义表。
- 数据结构里,栈的使很广泛,它可以再一端插
- 线性表的存储结构是一种()的存储结构。
- 序列3,1,7,18,6,9,13,12
- 对线性表进行折半查找最方便的存储结构是(
- 假定一个线性表为(12,23,74,55
- 经过下列栈的运算后EmptyStack
- 15.循环队列采用数组data()来存储
- 对于不同的使用者,一个表结构既可以是栈,
- 堆排序是不稳定,空间复杂度为()。在最坏