C++:用两个栈来实现一个队列,完成队列的Push和Pop操作

网友投稿 252 2022-08-26

C++:用两个栈来实现一个队列,完成队列的Push和Pop操作

problem

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

analysis

class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty()){ while(stack1.empty()==false){ int node=stack1.top(); stack2.push(node); stack1.pop(); } } int node=stack2.top(); stack2.pop(); return node; }private: stack stack1; stack stack2;};

其中栈是后进先出,队列是先进先出,在push操作的时候,我们先把数据压到一个栈里,pop操作的时候,我们需要改变一下前一个栈的顺序,做法很简单,把第一个栈里的数据压到第二个栈里就把顺序调回来了,这里注意编程的几个判断空的条件。

参考文献

[1].用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with
下一篇:宁浩执导喜剧电影《红毯先生》开机,刘德华演过气明星!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~