$\huge \color{orange}{成仙之路->}$ $\huge \color{purple}{算法基础课题解}$
完整代码1
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n,x;
string op;
int q[N];
int main()
{
cin>>n;
int hh=0,tt=-1;
while(n--)
{
//输入操作
cin>>op;
//向队尾插入一个数 x
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;
}
return 0;
}
完整代码2
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n,x;
string op;
queue<int> q;
int main()
{
cin>>n;
while(n--)
{
//输入操作
cin>>op;
//向队尾插入一个数 x
if(op=="push")
{
cin>>x;
q.push(x);
}
//从队头弹出一个数
if(op=="pop") q.pop();
//判断队列是否为空
if(op=="empty") cout<<(q.empty()?"YES":"NO")<<endl;
//查询队头元素
if(op=="query") cout<<q.front()<<endl;
}
return 0;
}