蓝桥杯 算法提高 队列操作 【stl 基础】

来源:互联网 发布:c#课本编程题及答案 编辑:程序博客网 时间:2024/05/16 06:09

 蓝桥杯  算法提高 队列操作  【stl 基础】

 算法提高 队列操作  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  队列操作题。根据输入的操作命令,操作队列(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


#include <stdio.h>
#include <bits/stdc++.h>
#define mod 1000000007
#define read(); freopen("C:\\Users\\Administrator\\Desktop\\input.txt","r",stdin);
typedef long long ll;
using namespace std;
int n;
queue<int> q;
int main(){
 cin>>n;
 int a,b,flag=0;
 while(n--){
  cin>>a;
  if(flag)continue;
  switch(a){
   case 1:
    cin>>b;
    q.push(b);
    break; 
   case 2:
    if(q.size()){
     cout<<q.front()<<endl;
     q.pop();
    }else{
     flag=1;
     cout<<"no"<<endl;
    }
    break;
   case 3:
    cout<<q.size()<<endl;
    break;
  }
 }
    return 0;
0 0