77智能网
新记
,c语言,栈队列问题,为什么要两个栈,分别是干什么用的
如题所述
举报该文章
相关建议 2013-12-09
想象空中有两个水杯,水杯的口对着另一个水杯的口。【】 用左边的这个中括号组成的图形形容下吧,左括号是个水杯,即栈,右括号也是个水杯,也是栈。如果你想要提取队列中间的元素,是不是可以把队列中间这个元素到队首之间的所有元素压入左栈中,而把队列中间这个元素到队尾之间的所有元素压入右栈中,提取了这个元素后,再把右栈中元素压到左栈恢复成和原先顺序不变的队列呢,想想是不是很方便。~\(≧▽≦)/~
其实这个也linux shell中,通过上下按键便能调出最近的命令使用记录一样的原理
温馨提示:内容为网友见解,仅供参考
当前网址:
https://77.aolonic.com/aa/gn3inq3g3vywvqqpiwv.html
其他看法
第1个回答 2013-12-09
就是双栈可以实现一个队列。
你要进队列的时候,就进栈1,然后要出队列的时候,如果栈2为空,就把栈1的元素都出栈然后进入栈2,否则从栈2弹栈就可以了。
这样做是正确的。因为数进入栈1后,出栈是按照相反的顺序出栈的。但是进入栈2再出栈之后顺序再反一次,就正过来了。而栈1的元素每次导入栈2都是栈1排空,栈2在没有元素的过程中进行的,因此不会出现相互影响的问题,最后每次出栈的顺序都和入栈一样,就实现了一个队列的功能。
本回答被网友采纳
第2个回答 2013-12-09
调整进出顺序
相似回答
大家正在搜
相关问题
c语言,两个栈实现队列中的2个栈,是什么意思?两个链表?还是...
C语言 用两个栈实现一个队列的功能?要求给出算法和思路!问题
栈和队列数据结构的特点,什么情况下用到栈,什么情况下用到队列...
关于二级C语言公共基础知识 栈和队列 的两个问题
C语言数据结构:以下是我编写的用两个栈模拟一个队列的入栈操作...
C数据结构中如何用两个栈实现一个队列
链栈或者链队列为什么需要做两个结构体?
关于栈和队列的几个问题