队列
一、 顺序结构实现队列
1.1 队列的结构体、初始化、判空

1.2 入队操作

1.2.1 循环队列牺牲一个位置
⭐ 循环队列牺牲一个元素位置用来区别队满(front == (rear + 1)%MaxSize)与队空(front==rear)。


1.2.2 循坏队列不牺牲位置
- 方案一: 设置size记录队长

- 方案二: 设置tag表示最近一次操作是入队还是出队

1.3 出队操作与获取队头元素

1.4 队列的rear指向 队尾元素时, 各种条件整理!

1.4.1 牺牲一个元素位置的情况

1.4.2 不牺牲一个元素的判断
- 添加一个size记录队长siz
- 添加一个表示 tar(1:表示最近一次操作为入队;0表示最近一次操作为出队)
1.5 顺序结构思维导图

二、 链式结构实现队列
2.1 链式队列的实现

2.2 初始化链式队列
2.2.1 带头结点版本

2.2.2 不带头结点的

2.3 入队操作
2.3.1 带头结点的入队操作

2.3.2 不带头结点的入队操作

2.4 出队操作
2.4.1 带头结点的出队操作

2.4.2 不带头结点的出队操作

2.5 链式队列是否存在队满情况?
2.6 链式队列知识框架











