队列
一、概念
-
一种先进先出(FIFO)的结构
-
使用head(队头)和tail(队尾)指针指向头和尾,实现先进先出
二、操作
- push
- pop
- empty
三、顺序队列
四、循环队列
- 意义:防止了伪溢出现象导致一个队列变“短”
- 操作
- 队头:
head = (head + 1) % MAX
- 队尾:
tail = (tail + 1) % MAX
- 队列长度:
(head + MAX - tail) % MAX
- 空\满
- 空:
head == tail
; - 满:
(tail + 1) % MAX == head
五、链式队列
- 设置指针指向链表的头尾