c++中如何使用两个栈实现一个队列

技术c++中如何使用两个栈实现一个队列c++中如何使用两个栈实现一个队列,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、栈栈:只允许在固定

如何在C中用两个栈实现一个队列,很多新手对此都不是很清楚,为了帮助大家解决这个问题,下面小编就给大家详细讲解一下,有这方面需求的可以借鉴一下,希望大家能有所收获。

一、栈

栈:只允许在固定端插入和删除元素。进入和删除操作的一端称为栈顶,另一端称为栈底。

堆栈功能:后进先出

堆栈功能:将数据从一个序列更改为另一个序列。

第二,排队

1.只允许一端插入数据,另一端删除数据。

2.插入操作的结束称为队列的结束(进入队列)。

3.删除操作的结束称为队列头(队列外)。

4.队列具有先进先出功能。

使用两个堆栈实现一个队列。

想法:定义一个结构中有两个栈,一个专门用于数据输入,另一个专门用于数据输出。首先将数据放入堆栈1,然后将数据移动到堆栈2。这个过程是:当栈1不为空,栈2为空时,先取出栈1的顶部数据放入栈2,以此类推。最后,弹出栈2的数据,实现一个队列。

具体代码如下:

# pragmaonce # include ' stack 1 . h ' # includes dio . httypedefstructsquee { stack stack 1;//输入数据Stackstack2//输出数据} SQueue//初始化void init(squee * PSQ){ stack * P1,* P2;P1=(PSq-stack 1);p2=(PSq-stack 2);stack init(P1);stack init(p2);}//堆叠空推(squee * PSQ,sdatypedata){ stack * P1,* P2;P1=(PSq-stack 1);p2=(PSq-stack 2);StackPush(p1,数据);}//弹出无效弹出(squee * PSQ){ stack * P1,* P2;P1=(PSq-stack 1);p2=(PSq-stack 2);SDataTypedataif(StackIsEmpty(p2)){while(!StackTop空(P1)){ data=stack top(P1);stack op(P1);StackPush(p1,数据);} } StackOp(p2);} sdatyperfront(squee * PSq){ Stack * P1,* p2P1=(PSq-stack 1);p2=(PSq-stack 2);SDataTypedataif(StackIsEmpty(p2)){while(!StackTop空(P1)){ data=stack top(P1);stack op(P1);StackPush(p1,数据);} } returnStackTop(p2);}阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113757.html

(0)

相关推荐

  • 心形线,求心形函数表达式~~~

    技术心形线,求心形函数表达式~~~1.直角坐标方程心形线的平面直角坐标系方程表达式分别为 心形线:
    x^2+y^2+a*x=a*sqrt(x^2+y^2)
    x^2+y^2-a*x=a*sqrt(x^2+y^2)
    2.极坐

    生活 2021年10月29日
  • css中加号是什么意思

    技术css中加号是什么意思这篇文章主要讲解了“css中加号是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css中加号是什么意思”吧!

    攻略 2021年11月17日
  • Python编程为什么不使用print调试代码了

    技术Python编程为什么不使用print调试代码了这篇文章主要介绍“Python编程为什么不使用print调试代码了”,在日常操作中,相信很多人在Python编程为什么不使用print调试代码了问题上存在疑惑,小编查阅

    攻略 2021年10月25日
  • 四时田园杂兴题目意思,四时田园杂兴的全部意思

    技术四时田园杂兴题目意思,四时田园杂兴的全部意思四时田园杂兴古诗的意思是:一树树梅子变得金黄,杏子也越长越大了;荞麦花一片雪白,油菜花倒显得稀稀落落四时田园杂兴题目意思。白天长了,篱笆的影子随着太阳的升高变得越来越短,没

    生活 2021年10月23日
  • 公式规律,平码三中三公式规律是什么

    技术公式规律,平码三中三公式规律是什么一公式规律、规律如下:
    1、公式主要分为两大类计算,公式前面都有注明。
    2、大小序D:公式前面有注明字母D的为大小序。算法是从小到大。(大小序第一个拼音字母)或直接写明大小序落球

    生活 2021年10月23日
  • php自己写留言板教程(php超级简单留言板代码)

    技术php如何实现简易留言板小编给大家分享一下php如何实现简易留言板,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月16日