算法提高 队列操作

来源:互联网 发布:专车软件有哪些 编辑:程序博客网 时间:2024/05/17 04:38

算法提高 队列操作
时间限制: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
哇,前面弹出队顶元素pop一直忘记,最后才想起,难受

#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#define mod 100000007using namespace std;int a[110],i=0;int main(void){    int n,m;    int k=0;    queue<int>q;    scanf("%d",&n);    for (int i = 0; i < n; i++)    {        scanf("%d",&m);        switch (m)        {        case 1:            scanf("%d",&a[k]);            q.push(a[k]);            k++;            break;        case 2:            if (q.empty())            {                printf("no");                return 0;            }            else            {                printf("%d\n",q.front());                q.pop();            }            break;        case 3:            printf("%d\n",q.size());            break;        default:            break;        }    }    return 0;}
0 0