🔄 循环队列
工作原理
容量 MAXN =
8
· 牺牲 1 个空间判满
MAXN
= 8
head =
0
tail =
0
📏 大小 =
0
状态:
⭕ 空队列
⬅ 入队 push
➡ 出队 pop
⟳ 重置
❶ 入队(enqueue)
tail = (tail + 1) % MAXN
tail = (0 + 1) % 8 = 1
q[tail] = x
❷ 出队(dequeue)
head = (head + 1) % MAXN
head = (0 + 1) % 8 = 1
❸ 队空判断
head == tail
0 == 0
→ ✅ 队空
❹ 队满判断(牺牲 1 空间)
(tail + 1) % MAXN == head
(0 + 1) % 8 == 0
→ ❌ 未满
📋 操作日志