队列列列列!!!!!

来源:互联网 发布:sql update多条数据 编辑:程序博客网 时间:2024/05/22 03:34
队列列列列!!!!! Description


xuxu完成了栈的实验要求后,他又很是开心,刚要出去liuda, biaobiao突然问道老师让做的队列的那个实验你写完了么,xuxu顿时大呼悲哉。。。。他给忘记了,怎么办。。明天就要上交实验报告了,你能帮他搞定么???

你需要完成三种操作1.enqueue x,将元素x插入队尾。2.dequeue,若队列非空,则删去队头元素,并输出该元素。3.query,从队头开始删除所有元素,并输出。



Input本题有多组测试数据,每组数据首先输入一个T,接下来T行是T种对队列的操作。  (0< T < 100,0< x <= 500)

Output

每次执行dequeue操作时删除队头元素输出并换行,如果队列为空输出“this is empty!”并换行。

每次执行query操作时删除所有元素队列内所有元素并输出,每个元素占一行,如果栈为空输出“this is empty!”并换行。

每组数据后有一个空行。

Sample Input
10enqueue 1enqueue 2enqueue 3enqueue 4querydequeueenqueue 1dequeuequerydequeue
Sample Output
1234this is empty!1this is empty!this is empty!
===================================================================================================================================================
#include<stdio.h>#include<string>#include<iostream>using namespace std;const int maxsize=1000;int queue[maxsize];int rear=0;int first=0;bool isFull(){if((rear+1)%maxsize==first){return true;}return false;}bool isEmpty(){if(rear==first){return true;}return false;}void en(int n){if(!isFull()){queue[rear]=n;rear=(rear+1)%maxsize;}}void de(){if(!isEmpty()){printf("%d\n",queue[first]);first=(first+1)%maxsize;}else{printf("this is empty!\n");}}void query(){if(!isEmpty()){while(!isEmpty()){printf("%d\n",queue[first]);first=(first+1)%maxsize;}}else{printf("this is empty!\n");}}int main(){int t;string s;int m;while(cin>>t){rear=first=1;while(t--){cin>>s;if(s[0]=='e'){scanf("%d",&m);en(m);}else if(s[0]=='d'){de();}else if(s[0]=='q'){query();}}cout<<endl;}return 0;}

========================================================================================================================================================
#include<iostream>#include<stdio.h>#include<string>#include<queue>using namespace std;int main(){int t;string s;queue<int> qq;while(cin>>t){while(!qq.empty()){qq.pop();}int m;while(t--){cin>>s;if(s[0]=='e'){cin>>m;qq.push(m);}else if(s[0]=='d'){if(!qq.empty()){printf("%d\n",qq.front());qq.pop();}else{printf("this is empty!\n");}}else if(s[0]=='q'){if(!qq.empty()){while(!qq.empty()){printf("%d\n",qq.front());qq.pop();}}else{printf("this is empty!\n");}}}printf("\n");}return 0;}
========================================================================================================================================================
#include<iostream>#include<stdio.h>#include<string>#include<queue>using namespace std;int main(){int t;string s;queue<int> qq;while(cin>>t){while(!qq.empty()){qq.pop();}int m;while(t--){cin>>s;if(s[0]=='e'){cin>>m;qq.push(m);}else if(s[0]=='d'){if(!qq.empty()){printf("%d\n",qq.front());qq.pop();}else{printf("this is empty!\n");}}else if(s[0]=='q'){if(!qq.empty()){while(!qq.empty()){printf("%d\n",qq.front());qq.pop();}}else{printf("this is empty!\n");}}}printf("\n");}return 0;}


0 0
原创粉丝点击