7.两个栈实现一个队列
来源:互联网 发布:淘宝知识产权怎么处罚 编辑:程序博客网 时间:2024/06/05 23:44
#include <iostream>#include <queue>#include <stack>using namespace std;template <typename T> class CQueue{public: CQueue(){} ~CQueue(){} void push(const T& val); const T& pop();private: stack<T> stack1; stack<T> stack2;};template <typename T> void CQueue<T>::push(const T& val){ stack1.push(val);}template <typename T> const T& CQueue<T>::pop(){ T val; if(stack2.empty()) { while(!stack1.empty()) { stack2.push(stack1.top()); stack1.pop(); } } if(!stack2.empty()) { val = stack2.top(); stack2.pop(); } else { val = -1; } return val;}int main(){ int a[] = {1, 2, 3, 4, 5}; CQueue<int> myque; for(int& val: a) { myque.push(val); } for(unsigned i=0; i<sizeof(a)/sizeof(a[0]); i++) { cout<<myque.pop()<<" "; } return 0;}
1 0
- 7.两个栈实现一个队列
- 两个队列实现一个栈&两个栈实现一个队列
- 两个栈实现一个队列-----两个队列实现一个栈
- 两个栈实现一个队列&&两个队列实现一个栈
- 两个栈实现一个队列 && 两个队列实现一个栈
- 两个栈实现一个队列,两个队列实现一个栈
- 两个栈实现一个队列/两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个队列实现一个栈&两个栈实现一个队列
- 两个队列实现一个栈 / 两个栈实现一个队列
- 两个栈实现一个队列,两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个栈实现一个队列&&两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个栈实现一个队列/两个队列实现一个栈
- 两个栈实现一个队列
- 两个栈实现一个队列
- 两个栈实现一个队列
- shell eval命令使用
- 412. Fizz Buzz Add to List
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。
- Puppet 安装配置
- IOS打包测试发布环境配置-中篇
- 7.两个栈实现一个队列
- vi/vim多行注释和取消注释
- 常用的操作路径函数
- 建站经验 一个成熟的大型网站系统架构演化之路
- 在DDMS中FileExplore下什么都没有
- hi3518e笔记
- MySQL优化
- Mysql数据库优化总结
- Android--合并2个Xml