算法提高 队列操作

问题描述
  队列操作题。根据输入的操作命令,操作队列(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 }

 

posted @ 2019-02-27 17:53  wydxry  阅读(345)  评论(0)    收藏  举报
Live2D