829. 模拟队列
题目链接:829. 模拟队列 - AcWing题库
队列:就是一个特殊的数组。这个数组,最前面叫队头,最后面叫队尾。只允许在最后面添加元素,只允许在最前面删除元素。
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int qu[N];
int main()
{
int m;
cin >> m;
string s;
int head = 0, tail = -1; //初始化 头指针0 尾指针-1
while(m--)
{
cin >> s;
if(s == "push")
{
int x;
cin >> x;
qu[++tail] = x;
}
else if(s == "pop")
{
if(s.size())
head++;
}
else if(s == "query")
{
cout << qu[head] << endl;
}
else if(s == "empty")
{
//是否为空empty:[head, tail] 代表元素所在区间,
//当区间非空的时候,队列非空。也就是tail >= head的时候,队列非空。
cout << (head <= tail ? "NO" : "YES") << endl;
}
}
return 0;
}
标签:head,队列,cin,int,829,模拟
From: https://www.cnblogs.com/encore051/p/17732870.html