队列也是比较简单的数据结构了,队列的特点是先进先出
下面代码中hh是队头,tt是队尾。
默认是从队尾插入数据,队头弹出数据。
代码中的数据结构可以使用这图片来解释,整个区间是数组q。hh和tt分别控制队头和队尾。
例题:https://www.acwing.com/activity/content/problem/content/866/
#include<iostream>
using namespace std;
const int N=1e5+10;
int q[N],hh,tt=-1;
int main()
{int m,x;cin>>m;while(m--){string op;cin>>op;if(op=="push"){//向队尾插入一个元素cin>>x;q[++tt]=x;}if(op=="pop"){//向队头弹出一个数hh++;}if(op=="empty"){//判断队列是否为空if(tt>=hh){cout<<"NO"<<endl;}else{cout<<"YES"<<endl;}}if(op=="query"){//查询队头元素cout<<q[hh]<<endl;}}return 0;
}