AcWing 829. 模拟队列

实现一个队列,队列初始为空,支持四种操作:

(1) “push x” – 向队尾插入一个数x;

(2) “pop” – 从队头弹出一个数;

(3) “empty” – 判断队列是否为空;

(4) “query” – 查询队头元素。

现在要对队列进行M个操作,其中的每个操作3和操作4都要输出相应的结果。

#include<bits/stdc++.h>
#define N 100010
using namespace std;
int n;
int a[N],t=1,w;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        string b;int k;
        cin>>b;
        if(b=="empty")if(t>w)puts("YES");else puts("NO");
        if(b=="push"){scanf("%d",&k);a[++w]=k;}
        if(b=="query")printf("%d\n",a[t]);
        if(b=="pop")t++;

    }
    return 0;
}

 

posted @ 2021-01-08 15:15  君与  阅读(81)  评论(0编辑  收藏  举报