其他分享
首页 > 其他分享> > 对环形队列为空留一方式判满与有有效值的理解

对环形队列为空留一方式判满与有有效值的理解

作者:互联网

关键就是数组会留一个位置不放值。

判满:

(rear + 1) % maxSize;

当rear大于front时,结果为0。

当rear小于front时,结果为front。

有效值:

(rear + maxSize - front) % maxSize;

% maxSize是为了去掉情况二时加上的maxSize,对情况一结果无影响。

---------------------------------------------------------------------------------------------

rear + maxSize - front:可以看成(rear - front ) + maxSize

涉及到盒子模型

问题:求下方盒子中有数的盒子个数:

情况一: rear 小于 front

下方元素个数:rear

 

上方元素个数:maxSize - front

情况二:rear 大于 front

 

 

元素个数: rear - front

至于加上maxSize,是为了与情况一算式格式统一。

 

标签:盒子,有效值,个数,判满,maxSize,空留,front,rear
来源: https://www.cnblogs.com/zwdpq/p/15939383.html