1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;

const int N = 1e5;
// hh 和 tt 都初始化为 0,hh 指向队头元素,tt 指向队尾元素的下一个位置。[hh, tt) 区间内是队列中的元素。初始时 hh、tt 初始化为 0,初始区间为 [0, 0) ,队列为空
int hh, tt;
int q[N];

int main() {
// 队列是否已满
if((tt + 1) % N == hh) {
}
// 队列是否为空
if(hh == tt) {
}
// 插入一个元素
q[tt] = 5;
tt = (tt + 1) % N;
// 弹出一个元素
hh = (hh + 1) % N;
return 0;
}