试题详情
- 简答题设顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n,a2n-1,…,a1,要求通过一个循环队列重新排列栈中元素,使得从栈顶到栈底的元素依次为a2n,a2n-2,…,a2,a2n-1,a2n-3,…,a1,请设计算法实现该操作,要求空间复杂度和时间复杂度均为O(n)。
- 操作步骤为:
①将所有元素出栈并入队;
②依次将队列元素出队,如果是偶数结点,则再入队,如果是奇数结点,则入栈;
③将奇数结点出栈并入队;
④将偶数结点出队并入栈;
⑤将所有元素出栈并入队;
⑥将所有元素出队并入栈即为所求。 关注下方微信公众号,在线模考后查看
热门试题
- 求子串函数 的结果是()
- 如果待排序序列中两个数据元素具有相似的值
- 设串S=“IAMATEACHER!”,其
- 线性表是n个元素的()
- 带头结点的单链表head为空的条件是()
- KMP算注的最大特点是指示主串的指针不需
- 下面程序段的时间复杂度为()
- 假定一个待哈希存储的线性表为(32,75
- n个结点的线索二叉树上含有()条线索。
- 索引顺序文件既能进行()存取,又能进行(
- 线性表的链式存储结构地址空间可以(),而
- 当待排序记录已经从小到大排序或者已经从大
- 将f=1+1/2+1/3+.....+1
- 希尔排序
- KMP算法的最大特点是指示主串的指针不需
- 设数据集合a={1,12,5,8,3,1
- 下面程序的时间复杂度为()。 x=0;
- 广义表((b,a,c),c,d,f,e,
- ()的遍历仍需要栈的支持
- 试设计算法计算一棵给定二叉树上所有结点数