用两个栈模拟队列操作
来源:互联网 发布:巨人网络 纪学锋 编辑:程序博客网 时间:2024/06/05 14:44
栈是先进后出,队列是先进先出操作,用两个栈可以实现队列操作。先把数据压入其中一个栈,栈顶元素最后进入,然后在把栈里元素压入另外一个栈,则原来栈顶元素变为栈底元素,原来栈底元素变为栈顶元素,然后对第二个栈弹出操作,则弹出的就是最先进入第一个栈的元素了,这就实现了队列操作,先进先出。
#include<iostream>using namespace std;struct stack{ int data[5]; int top;}s1,s2;struct queue{ int data[5]; int tail; int first;}q;int main(){ s1.top=0; s2.top=0; q.first=q.tail=0; //往栈1输入数据和队列输入数据 for(int i = 0; i < 5; i++){ cin>>s1.data[s1.top]; q.data[q.tail]=s1.data[s1.top]; q.tail++; s1.top++; } //栈1数据弹出至栈2 while(s1.top > 0){ s1.top--; s2.data[s2.top] = s1.data[s1.top]; s2.top++; } //栈2数据弹出 while(s2.top > 0){ s2.top--; cout<<s2.data[s2.top]<<endl; } //队列操作 while(q.first<q.tail){ cout<<q.data[q.first]<<" "; q.first++; } cout<<endl; return 0;}
0 0
- 用两个栈模拟队列操作
- 数据结构复习之用两个栈模拟队列操作
- 使用两个栈模拟队列的操作
- 如何用两个栈模拟队列操作
- 用两个栈模拟队列
- 用两个栈模拟队列
- 两个队列模拟栈
- 两个栈模拟队列
- 两个队列模拟栈
- 用两个栈来模拟队列
- 用两个栈模拟一个队列
- 用两个栈模拟一个队列
- 剑指off-用两个队列模拟栈
- 用两个队列模拟一个栈
- 用两个栈模拟一个队列
- 用两个队列模拟一个栈
- 用两个队列模拟栈Java
- 用两个栈模拟一个队列
- jsp中的几个内置对象
- MFC 列表控件
- C语言基础学习——第10天(文件操作)
- Android开发颜色样式及代码
- 《机器学习实战》二分-kMeans算法(二分K均值聚类)
- 用两个栈模拟队列操作
- Single Number II (java)
- Java面试题Tomcat的优化经验
- Ubuntu下OpenGrok安装使用
- TableLayout
- HDU 1269
- C# MSCHART 曲线指示数据点
- Hbase1.0 客户端api---神算子
- jQuery源码分析之parents,parentsUntil,next,prev,nextAll,prevAll,nextUntil,prevUntil,siblings,children