使用两个栈实现一个队列
2017-07-19 10:42
393 查看
两个栈实现一个队列:
代码:
代码:
#include<iostream> #include<stack> using namespace std; template <typename T> class CQueue { public: CQueue() {} ~CQueue() {} void appendTail(const T& data) { stack1.push(data); } T deleteHead() { if( stack2.size() <= 0) { while(stack1.size() > 0) { T& data = stack1.top(); stack1.pop(); stack2.push(data); } } if(stack2.size() == 0) { //throw new exception("query is empty"); } T head = stack2.top(); stack2.pop(); return head; } private: stack<T> stack1; stack<T> stack2; }; int main() { CQueue<int> que; que.appendTail(1); que.appendTail(2); que.appendTail(3); que.appendTail(4); que.appendTail(5); cout<< que.deleteHead() << endl; cout<< que.deleteHead() << endl; cout<< que.deleteHead() << endl; cout<< que.deleteHead() << endl; cout<< que.deleteHead() << endl; return 0; }
相关文章推荐
- 使用两个队列实现一个栈
- 使用两个栈实现一个队列
- 使用两个队列实现一个栈,使用两个栈实现一个队列!
- 使用两个栈实现一个队列
- 使用两个栈实现一个队列
- 使用两个队列实现一个栈
- ~使用两个栈实现一个队列(优化版)~
- 使用两个队列实现一个栈
- 使用两个栈实现一个队列
- ~使用两个队列实现一个栈~
- 使用两个队列实现一个栈
- 使用两个队列实现一个栈,使用两个栈实现一个队列!
- 算法面试题:使用两个堆栈实现一个队列
- 使用两个栈实现一个队列
- 使用两个Stack类(JDK容器类库中的Stack类)实现一个队列类MyQueue,提供队列的入队列和出队列操作:enQueue和deQueue
- 【数据结构】(面试题)使用两个栈实现一个队列(详细介绍)
- 剑指offer 7---使用两个队列实现一个栈
- 【题目5】如何使用两个栈来实现一个队列
- 使用两个队列实现一个栈
- 使用两个队列实现一个栈