用两个栈实现队列
来源:互联网 发布:李咏主持功力知乎 编辑:程序博客网 时间:2024/06/01 10:29
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
分析:选定A栈为进栈口,选定B栈为出栈口,进栈时,判断B是否为空,不为空就全部压入A栈,然后A栈push(node),出栈时,判断A是否为空,不为空则全部压入B栈,然后B栈pop()
class Solution{public: void push(int node) { while(!stack2.empty()) { stack1.push(stack2.top()); stack2.pop(); } stack1.push(node); //将stack1作为队列,直接将元素入队 } int pop() { if(stack2.empty()) while(!stack1.empty()) { stack2.push(stack1.top()); stack1.pop(); } int a=stack2.top(); stack2.pop(); return a; }private: stack<int> stack1; stack<int> stack2;};
阅读全文
0 0
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 黎活明给程序员的忠告 收藏
- 用bochs调试mbr-初步调试
- 1121. Damn Single (25)
- 2017年9月10日周记
- 【翻译】ASP.NET Core 文档目录
- 用两个栈实现队列
- 字符串编码--中文字符前后加<>
- 554. Brick Wall。
- Android四大组件之Service
- mysql索引含义及分类
- codevs 1535 封锁阳光大学 二分图 解题报告
- 二叉树中的一些概念
- Work2
- 技术决策的相对性