用两个栈实现一个队列 (CLRS 10.1-6)

原创 2007年09月21日 10:26:00
主要思路:

两个栈 A , B, 栈A用于向队列中插入数据,栈B用于从队列中取数据.

初始时两个栈皆为空.

当从栈B中取数据时,如果栈B不为空,则直接弹出B的栈顶元素;

为空,则把A中的数据弹出进入到B中,然后取B的栈顶元素.
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

10.1-7 两个队列实现一个栈

/*两个队列实现一个栈 设两个队列为q1,q2 入栈、出栈操作完成后,都会至少有一个队列为空。 入栈:元素入队到非空队列(若q1,q2都空,入任意一队) 出队:非空队列Q的元素出队,入队到空队列eQ。...

CLRS 10.1栈和队列

练习10.1-1、10.1-2、10.1-3、10.1-4、10.1-5、10.1-6、10.1-7

《剑指offer》:[6]两个栈实现一个队列的C++代码实现

问题:用两个栈实现一个队列,完成在队列尾部插入节点和在队列头部删除结点的功能。 由于栈的特点是先进后出,要想实现队列,必须做到先进先出;      首先将数据输入到stack1中,这时候先进后出,再将...

两个栈实现一个队列

算法导论学习10.1 两个栈共享一个数组 and 两个栈实现一个队列 and 两个队列实现一个栈

ArrayStack.h (顺序栈的基本操作) #include #include #define MAXNUM 4 #define OVERFLOW -1 #define UNDERFL...

10.1-2 在一个数组A[1..n]中实现两个栈,使得两个栈元素个数之和不为n时,两者不会上溢

/*在一个数组A[1..n]中实现两个栈,使得两个栈 元素个数之和不为n时,两者不会上溢*/ #include #define n 6 typedef char ElemType; typedef i...

两个栈实现一个队列

  • 2011-11-23 22:48
  • 856B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)