队列分两种
- Queue: 先进先出,FIFO
 - Deque: 头节点尾节点都可随意进出
 
特点及性能
- size固定
 - 查找
 
Queue
Queue又分为一般队列、可回滚队列和循环队列
- 普通队列,Normal Queue
 - 回滚队列,Rollback Queue
 - 环形队列,Circular Deque
 
普通队列一旦队满不能再入队。回滚队列和环形队列队满后都再次入队,回滚队列是通过移除队首元素实现,环形队列是通过覆盖队首元素并后移队首指针实现

普通队列和回滚队列结构和实现方式相似
- curr,队尾标记
 - _queue,队列实体,可用array或list实现
 
环形队列需要队首队尾两个标记
- front,队首标记
 - rear,队尾标记
 - _queue,队列实体,可用array或list实现
 
Normal Queue & Rollback Queue 实现(C)
1  | typedef struct _q_unit {  |