问题描述
队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输入格式
第一行一个数字N。
下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输出格式
若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。
样例输入
7
1 19
1 56
2
3
2
3
2
样例输出
19
1
56
0
no
数据规模和约定
1<=N<=50
1 #include <iostream>
2 #include <algorithm>
3 #include <cstdio>
4 #include <cmath>
5 #include <stack>
6 #include <queue>
7 using namespace std;
8 int main()
9 {
10 int n;
11 cin>>n;
12 queue<int> q;
13 int x,y;
14 while(n--){
15 cin>>x;
16 if(x==1){
17 cin>>y;
18 q.push(y);
19 }else if(x==2){
20 if(q.size()){
21 cout<<q.front()<<endl;
22 q.pop();
23 }else{
24 cout<<"no"<<endl;
25 return 0;//quit
26 }
27
28 }else if(x==3){
29 cout<<q.size()<<endl;
30 }
31 }
32 return 0;
33 }