C++中用两栈实现一个队列
2018-03-08 10:42
197 查看
第二种方法较好!
class MyQueue { public: // 出队 void pop() { // 第一种: // 1、先把 s1 留一个元素, 其他导入到 s2 中 // 2、s1 出栈 // 3、将 s2 元素再导入到 s1 中 // 第二种 // 1、先判断 s2 是否为空 // 2、不为空,s2直接出栈 // 3、如果空,将 s1 留一个元素, 其他导入到 s2 中 // 4、s1出栈 if(s2.empty()) { while (s1.size() > 1) { s2.push(s1.top()); s1.pop(); } if (!s1.empty()) s1.pop(); } else { s2.pop(); } } // 入队 void push(int num) { // 入 s1 s1.push(num); } private: stack<int> s1; stack<int> s2; };
相关文章推荐
- C++两个队列实现一个栈
- 用C++实现用两个栈实现一个队列的功能
- 用两个栈实现一个队列的功能,请用C++实现它
- C++:用两个栈来实现一个队列,完成队列的Push和Pop操作
- C++ 数据结构实现两个栈实现一个队列
- 一个消息队列类的实现C++
- 《剑指offer》:[6]两个栈实现一个队列的C++代码实现
- 两个栈来实现一个队列的C++代码
- 一个用 C++ 实现的快速无锁队列
- c++ 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- C++实现的一个循环队列
- C++ 模板应用 实现一个Queue 队列
- C++利用模板实现一个队列
- 两个栈来实现一个队列的C++代码
- 两个栈实现一个队列——C++ 利用STL 栈stack实现
- 【C++】两个队列实现一个栈
- 【C++】两个栈实现一个队列
- 程序员面试宝典之数据结构基础----C++两个栈实现一个队列功能
- C++两个栈实现一个队列