网站推广策略和效果评价,wordpress name增加链接,化妆品品牌推广方案,企业办公系统oa哪个好1. 定义
为充分利用向量空间#xff0c;克服假溢出现象的方法是#xff1a;将向量空间想象为一个首尾相接的圆环#xff0c;并称这种向量为循环向量。存储在其中的队列称为循环队列#xff08;Circular Queue#xff09;。循环队列是把顺序队列首尾相连#xff0c;把存储…1. 定义
为充分利用向量空间克服假溢出现象的方法是将向量空间想象为一个首尾相接的圆环并称这种向量为循环向量。存储在其中的队列称为循环队列Circular Queue。循环队列是把顺序队列首尾相连把存储队列元素的表从逻辑上看成一个环成为循环队列。 2.简介
循环队列就是将队列存储空间的最后一个位置绕到第一个位置形成逻辑上的环状空间供队列循环使用。在循环队列结构中当存储空间的最后一个位置已被使用而再要进入队运算时只需要存储空间的第一个位置空闲便可将元素加入到第一个位置即将存储空间的第一个位置作为队尾。 循环队列可以更简单防止伪溢出的发生但队列大小是固定的。
在循环队列中当队列为空时有frontrear而当所有队列空间全占满时也有frontrear。为了区别这两种情况规定循环队列最多只能有MaxSize-1个队列元素当循环队列中只剩下一个空存储单元时队列就已经满了。因此队列判空的条件是frontrear而队列判满的条件是frontrear1)%MaxSize。 图1 注意
队列下标从0开始rear指向的是最后一个空位置 3.队列中元素的个数计算
队列中元素的个数len ( rear - front MaxSize ) % MaxSize解析 不考虑循环队列的个数为rear-front 1 - 1, 1是队列下标从0开始的-1是rear指向最后空位置因为有循环会有跨界的可能先加上一个MaxSize, 相当于放在一个2xMaxSize中避免了跨界计算出长度后多余部分用%MaxSize来纠正 (MaxSize % MaxSize 为02xMaxSize / MaxSize 也为0不会对最后结果有影响) 例1 如下图3MaxSize8front2, rear0, rear正好跨过一轮rear-front-2, 这时加上MaxSize再%MaxSize(0-28)%86 例2 如下图4MaxSize8front0, rear6 rear-front6, (6-08)%86 图4 图3 参考 循环队列_百度百科 目录学习笔记快速链接
下一篇循环队列 / 结构体定义和创建