循环队列
2019-10-13 本文已影响0人
spraysss
顺序存储实现循环队列
使用数组模拟环形结构,数组大小为MAXQSIZE
-
front
表示队头元素 -
rear
表示队尾元素的下一个位置 - 初始条件
front=rear=0
循环队列示意图

为什么rear表示队尾元素的下一个位置

这种实现方式虽然牺牲了一个存储单元,但是队列的操作实现起来却变得非常简单
队列为空
front==rear
队列已满
front==(rear+1)%MAXQSIZE
添加元素时指针rear指针发生变化
rear=(rear+1)%MAXQSIZE
删除元素是front指针发生变化
front= (front+1)%MAXQSIZE
队列中元素的个数
(rear+maxSize-front)%MAXQSIZE