背景
队列在生活中可是经常见的。比如,食堂,商场等地方经常需要排队。它的主要性质是先进先出(first in first out),在算法中队列有顺序存储(连续存储)和链式存储(离散存储)两种方式。其中顺序存储必须要用循环队列的形式实现,具体如下:
队列:顺序存储实现
一,顺序存储实现
- 顺序存储实现队列必须用循环队列方式实现。
- 如此,对内存的使用友好,不会使程序奔溃。
(一)概念及示意图
1,入队出队示意图

2,判断队列满或空示意图

二,实现代码
(一)队列数据形式
1 | typedef struct Queue |
(二)初始化队列
1 | void InitQueue(PQUEUE queue) |
(三)检测队列为空或已满
1 | bool QueueIsEmpty(PQUEUE queue) |
(四)入队出队操作
1 | bool EnterQueue(PQUEUE queue) |
(五)遍历队列
1 | void TraverseQueue(PQUEUE queue, void(*pfunc)(int *data)) |
(六)打印队列
1 | void ShowQueue(PQUEUE queue) |
(七)队列长度
1 | void QueueLength(PQUEUE queue) |
(八)清空队列
1 | void ClearQueue(PQUEUE queue) |