用两个栈实现队列
来源:互联网 发布:手机音量减小软件 编辑:程序博客网 时间:2024/06/03 22:06
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
在交换元素的时候需要判断两个栈的元素情况: “进队列时”,队列中是否有元素,若有,说明栈2中的元素不为空,此时就先将栈2的元素倒回到栈1 中,保持在“进队列状态”。
class Solution{public: void push(int node) { stack1.push(node);//将数据直接压入栈1 } int pop() { if(stack2.empty()){//判断栈2是否为空 while(!stack1.empty()){ stack2.push(stack1.top()); //元素从栈1依次弹入,压入栈2 stack1.pop(); } } int result = stack2.top(); //弹出栈2栈顶元素,并返回 stack2.pop(); return result; }private: stack<int> stack1; stack<int> stack2;};
阅读全文
0 0
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- html 奇异标签 属性 学习笔记
- 整数算法训练02—有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位
- HDU 6070 二分+线段树
- Java基础二:运算符和运算符的优先级
- 17.IDA-基本块的定义
- 用两个栈实现队列
- HDU 2056 Rectangles
- SVN提交时出现文件remains in conflict错误
- 3.2队列
- 文章标题
- PHPExcel对于Excel中日期和时间类型的处理
- 如何实现后台登录功能 一步到位!!!
- 日夜间模式切换
- HDU2222 Keywords Search —— AC自动机