10.1-7 两个队列实现一个栈
来源:互联网 发布:矩阵化为行最简形 编辑:程序博客网 时间:2024/05/17 07:38
/*两个队列实现一个栈设两个队列为q1,q2入栈、出栈操作完成后,都会至少有一个队列为空。入栈:元素入队到非空队列(若q1,q2都空,入任意一队)出队:非空队列Q的元素出队,入队到空队列eQ。当非空队列Q剩下一个元素时,直接出队。此时,原来的空队列eQ变成非空队列Q,原来的非空队列Q变成空队列eQ。*/#include<cstdio>#include<queue>using namespace std;typedef char ElemType;queue <ElemType> q1;queue <ElemType> q2;void popout(queue Q,queue eQ)//非空队列Q,空队列eQ{//Q一定非空 int size=Q.size();size--; while(size--){ eQ.push(Q.front());Q.pop(); } putchar(Q.front());Q.pop();}void push(ElemType elem)//O(1){ if(q1.empty()) q2.push(elem); else q1.push(elem);}void pop()//O(n){ if(q1.empty()){ if(q2.empty()) puts("stack underflow!"); else popout(q2,q1);//q1空,q2非空 }else popout(q1,q2);//q1非空,q2空}int main(void){ pop(); return 0;}
0 0
- 10.1-7 两个队列实现一个栈
- 10.1-6 两个栈实现一个队列
- 7-两个栈实现一个队列
- 算法导论 用两个队列实现一个栈 10.1-7
- 两个队列实现一个栈&两个栈实现一个队列
- 两个栈实现一个队列-----两个队列实现一个栈
- 两个栈实现一个队列&&两个队列实现一个栈
- 两个栈实现一个队列 && 两个队列实现一个栈
- 两个栈实现一个队列,两个队列实现一个栈
- 两个栈实现一个队列/两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个队列实现一个栈&两个栈实现一个队列
- 两个队列实现一个栈 / 两个栈实现一个队列
- 两个栈实现一个队列,两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个栈实现一个队列&&两个队列实现一个栈
- 两个栈实现一个队列&两个队列实现一个栈
- 两个栈实现一个队列/两个队列实现一个栈
- 碰撞体(Collider)以及触发器(Is Trigger)----碰撞的条件,触发碰撞器和触发器的条件
- HTML背景图的显示
- struts2的工作流程和运行原理
- Groovy SQL 分页组件
- POJ 2653 线段相交问题
- 10.1-7 两个队列实现一个栈
- html空标签
- 实现异步多线程下载文件
- Bash shell位置参数
- 用Json实现PHP与JavaScript间数据交换
- Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
- 共享个地图控件的样式
- 批处理打开和关闭oracle11g 服务
- java.io.StreamCorruptedException: invalid stream header: EFBFBDEF