用数组模拟队列
队头下标设为0,队尾设为-1,方便后续元素进队及判断是否为空
元素进队
que[++rear] = x;//前自增
判断是否为空
if (front > rear)cout << "YES"<<endl;
else cout << "NO"<<endl;
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
using namespace std;
const int N = 1e6 + 10;
int que[N], rear=-1,front;//队头队尾
//队尾进队
void push(int x)
{
que[++rear] = x;
}
//队头出队
void pop()
{
front++;
}
//判断是否为空
void empty()
{
//若队头大于队尾
if (front > rear)cout << "YES"<<endl;
else cout << "NO"<<endl;
}
//访问队头元素
void query()
{
cout << que[front] << endl;
}
int main()
{
int m;
cin >> m;
while (m--)
{
string s;
cin>>s;
if (s == "push")
{
int x;
cin >> x;
push(x);
}
else if (s == "pop")
{
pop();
}
else if (s == "empty")
{
empty();
}
else if (s == "query")
{
query();
}
}
return 0;
}