https://www.acwing.com/problem/content/description/831/
#include<cstdio>
#include<iostream>
using namespace std;
const int N=1e5+10;
int q[N],hh=0,tt=-1;
int x,m;
int main(void)
{
cin>>m;
while(m--)
{
string op; cin>>op;
if(op=="push") cin>>x,q[++tt]=x;
if(op=="pop") hh++;
if(op=="empty")
{
if(hh<=tt) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
if(op=="query") cout<<q[hh]<<endl;
}
}
用STL里的queue
#include<queue>
#include<cstdio>
#include<iostream>
using namespace std;
queue<int> q;
int m,x;
int main(void)
{
cin>>m;
while(m--)
{
string op; cin>>op;
if(op=="push") cin>>x,q.push(x);
if(op=="pop") q.pop();
if(op=="empty")
{
if(q.size()) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
if(op=="query") cout<<q.front()<<endl;
}
}
#include<cstdio>
#include<iostream>
using namespace std;
const int N=1e5+10;
int a[N],l,r,n;
int main(void)
{
cin>>n;
while(n--)
{
string op; cin>>op;
if(op=="push")
{
int x; cin>>x;
a[r++]=x;
}
if(op=="pop") l++;
if(op=="empty")
{
if(r==l) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
if(op=="query") cout<<a[l]<<endl;
}
return 0;
}