1.通用计算公式:l=(rear-front+n)%n
其中:l为当前队列的长度
rear为队列尾指针
front为队列头指针
n为队列可容纳的元素总数(即队列大小)
2.公式解析
队列中存在一种特殊情况:循环队列,一般定义循环队列的头指针front和尾指针rear均指向队列下标为0的位置,此时front=rear&l=0;在循环队列中插入元素,若队列未满(l<n)尾指针后移一位(rear++);若队列已满(l==n),则不能继续插入元素,应返回错误提示。
由于队列元素的删除等操作,头指针向后移动(front>0),当尾指针的移动至下标为n-1的位置时,队列未满,因此在循环队列中会出现rear<front的情况,因此在计算队列的长度时不能直接使用l=rear-front。为了避免出现计算错误,通过在公式中加入一个n并对n取模的办法来合并所有的队列情况,得到l=(rear-front+n)%n通用计算公式。
数据结构学习笔记-队列长度的计算
最新推荐文章于 2024-05-10 15:55:09 发布