两个栈实现一个队列(C/C++)
来源:互联网 发布:mysql for mac 安装 编辑:程序博客网 时间:2024/05/21 13:28
#include<iostream>#include<stack>using namespace std;template<class T>struct MyQ{void push(T &t) //输入数据到队列中:即往栈1内压栈{s1.push(t);}T front() //获取队列元素{if (s2.empty()){if (s1.size() == 0) throw;while (!s1.empty()){s2.push(s1.top());s1.pop();//将s1的栈顶元素弹出销毁}}return s2.top();}void pop()////删除队列元素{if (s2.empty()){while (!s1.empty()){s2.push(s1.top());s1.pop();}}if (!s2.empty()){s2.pop();}}//声明两个栈stack<T> s1;stack<T> s2;};int main(){MyQ<int> mq;int i;for (i = 0; i < 10; i++){mq.push(i);}for (i = 0; i < 10; i++){cout << mq.front() << endl;mq.pop();}system("pause");return 0;}
阅读全文
0 0
- 两个栈实现一个队列(C/C++)
- 【C++】两个队列实现一个栈
- 【C++】两个栈实现一个队列
- 剑指offer07题两个栈实现一个队列(c语言)
- C++:利用两个栈实现队列操作
- C/C++之用两个栈实现一个队列的功能
- 两个栈实现队列功能C语言实现能运行!
- 使用两个栈模拟一个队列【C语言】
- C语言:使用两个栈模拟一个队列
- 两个队列实现一个栈&两个栈实现一个队列
- 两个栈实现一个队列-----两个队列实现一个栈
- 两个栈实现一个队列&&两个队列实现一个栈
- 两个栈实现一个队列 && 两个队列实现一个栈
- 两个栈实现一个队列,两个队列实现一个栈
- 两个栈实现一个队列/两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个队列实现一个栈&两个栈实现一个队列
- 两个队列实现一个栈 / 两个栈实现一个队列
- Scanning Strings
- mybatis之入门到开发(五)之 关联查询 一对一 和一对多
- Red-Hat-Linux7添加防火墙开发端口
- 23. 实例 --- 变量
- React Native Navigator 被舍弃解决办法
- 两个栈实现一个队列(C/C++)
- Java设计模式之四:抽象工厂模式
- web后端学习过程中技巧总结(持续更新。。。)
- Python赋值,数据类型及操作符学习
- mysql储存过程
- jQuery实现轮播图(二)
- 关于慕课网《使用vue2.0实现购物车和地址选配功能》的总结
- JAVA定时调度工具详细解析
- 如何编写有多个返回值的C语言函数