循环队列
[TOC]
一 定义
1:循环队列简介
循环对列使用顺序表实现,与链式队列不同处在于,循环队列的空间是可以循环使用的。循环队列一般有固定的容量,在使用上遵循队列使用原则,队列的元素必须从队尾进入,从队首出列。为了使用方便,我们将创建一个长度为7 单位的循环队列存储空间,下面不同情况的循环队列在下图中进行表示。front 表示 队首位置 back 表示队尾位置。
注意:front 永远指向队首元素,back永远指向队尾空闲空间,那么当front 与back 指向同一个位置的时候(注定该位置为空),所以可以判断这个队列是空的队列!!!
满队列如下图所示,因为back永远指向空地址空间(为了判断是否是满队列),故实际可以使用的空间为最大申请空间 -1 长度。下图可用空间为7 -1 = 6个空间。
大概操作示意如下图所示:
2:循环队列结构定义
1 | // 循环队列结构定义 |
二 循环队列 C 函数实现
1:初始化一个队列
1 | // 初始化一个队列 |
2:入队操作
1 | // 单个 元素入队 |
3: 出队操作
1 | // 单个元素出列 |
4: 队列验证
1 | // 循环队列测试 |