【发布时间】:2019-02-26 06:15:16
【问题描述】:
我正在研究如何编写循环数组队列,而 enqueue 方法的一部分让我感到困惑,特别是 back 变量变为 (back+1) % SIZE 的部分
void enqueue(char x) {
Q[back] = x
back = (back+1) % SIZE;
}
得到余数有什么意义?我不明白。
(该数组称为Q、int front = -1、int back = 0 和int size = 0)
【问题讨论】:
-
想一想当添加足够多的项目以到达数组末尾时会发生什么。数据会去哪里?想象一下如果
SIZE不是零 -
是的:你可以写成:
back = (back+1) % Q.length;。
标签: java arrays data-structures queue