用两个栈实现队列的操作
2016-04-12 15:02
141 查看
#include <stack> #include <iostream> using namespace std; class Queue { public: void enQueue(int e) { s1.push(e); } int deQueue() { if (s2.empty()) { while (!s1.empty()) { int elem = s1.top(); s1.pop(); s2.push(elem); } int res = s2.top(); s2.pop(); return res; } else { int res = s2.top(); s2.pop(); return res; } } private: std::stack<int> s1; std::stack<int> s2; }; int main() { Queue q; q.enQueue(4); q.enQueue(7); q.enQueue(3); q.enQueue(9); q.enQueue(1); cout << q.deQueue() << endl; cout << q.deQueue() << endl; cout << q.deQueue() << endl; cout << q.deQueue() << endl; cout << q.deQueue() << endl; return 0; }
相关文章推荐
- C#线程队列用法实例分析
- 算法系列15天速成 第九天 队列
- C++基于栈实现铁轨问题
- 浅析STL中的常用算法
- STL区间成员函数及区间算法总结
- C语言单链队列的表示与实现实例详解
- C语言栈的表示与实现实例详解
- C语言实现颠倒栈的方法
- 算法系列15天速成 第十天 栈
- mysql 队列 实现并发读
- C#队列Queue用法实例分析
- C#多线程处理多个队列数据的方法
- C语言循环队列的表示与实现实例详解
- C++循环队列实现模型
- C#内置队列类Queue用法实例
- 一看就懂:图解C#中的值类型、引用类型、栈、堆、ref、out
- Array栈方法和队列方法的特点说明
- c++ STL容器总结之:vertor与list的应用
- C++在成员函数中使用STL的find_if函数实例
- set、vector与list的构造与排序的耗时测试