用两个栈实现队列
2015-08-31 20:33
344 查看
#include<iostream> #include<stack> using namespace std; template <class T> class MyQueue { stack<T> s1,s2; public: MyQueue(){} /*int size() { return s1.size()+s2.size(); } bool empty() { if(size()==0) return true; else return false; }*/ void push(T value) { s1.push(value); } T pop() { if(!s2.empty()) return s2.top(); while(!s1.empty()) { s2.push(s1.top()); s1.pop(); } return s2.top(); } /* void pop() { if(s2.empty()) { while(!s1.empty()) { s2.push(s1.top()); s1.pop(); } } s2.pop(); }*/ }; void main() { MyQueue<char> queue; queue.push('a'); queue.push('b'); queue.push('c'); char r = queue.pop(); cout<<r<<endl; }
相关文章推荐
- 【LeetCode】之Linked List Cycle
- 用自定义缓存区的方式实现文件的移动
- c++知识点总结(不时更新)
- POST请求的两种方式
- scala实现设计模式之命令模式
- Thinking in Java---线程通信+三种方式实现生产者消费者问题
- 欢迎使用CSDN-markdown编辑器
- MVC中的筛选器
- 论版本控制
- hdu 4902 Nice boat(线段树区间更新lazytag·单点更新)
- Spring整合JMS(三)——MessageConverter介绍
- HDU 4552 怪盗基德的挑战书
- [ 收集] 条件注释判断浏览器版本
- 数据结构中排序算法-归并排序(4)
- Switch
- 使用call_user_func_array()来回调执行函数与直接使用函数的区别是什么? 周梦康周梦康 839 2014年04月15日 提问 · 2014年04月15日 更新 关注 0 关注 收藏
- MVC模式
- openwrt简单ipk生成及Makefile解释
- linux使用过程中遇到的问题和解决方法
- 网络第一天