java - 使用 mod 的循环队列大小

标签 java arrays queue circular-queue

假设我使用数组实现循环队列。我如何计算队列的大小?我所说的尺寸是指前部和后部之间的元件数量。我想使用模运算。

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

最佳答案

How could I calculate the size of the queue?

我会用

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

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

size = lastWriteIndex - nextReadIndex;

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

关于java - 使用 mod 的循环队列大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39942052/

相关文章:

java - Hibernate 一对多映射 - 在 Java 中遵循这一点是正确的做法吗?

javascript - javascript中如何处理海量数组

javascript - 为什么创建数组时需要 "new"关键字?

c - 如何处理 n 个不同的 OpenMP 关键部分?

java - 为什么Mysql字段不更新? - java

java - 将 Map<Long, List<Foo>> 转换为 List<Foo>

java - Crawler4j 警告 "invalid cookie header"导致爬网程序无法获取该页面

java - Java 数组

python - 在设计循环队列中将queue.front初始化为-1或0

来自链表的 C++ 队列