0

假设我使用数组实现了一个循环队列。我如何计算队列的大小?尺寸是指前后之间的元素数量。我想使用模运算。

我有数组的容量,以及队列的前后位置。我不知道现在该怎么办。

4

1 回答 1

1

我如何计算队列的大小?

我会用

size = (start - end + mod) % mod;

这假设缓冲区永远不会完全处于容量状态。另一种选择是使用没有修改的开始和结束

size = lastWriteIndex - nextReadIndex;

您可以在查找索引时修改这些值。

于 2016-10-09T09:46:12.597 回答