gpt4 book ai didi

java - 循环数组队列中的余数操作数有什么意义

转载 作者:行者123 更新时间:2023-11-30 05:45:41 25 4
gpt4 key购买 nike

我正在研究如何编写循环数组队列,入队方法的一部分让我感到困惑,特别是 back 变量变为 (back+1) 的部分%大小

void enqueue(char x) {
Q[back] = x
back = (back+1) % SIZE;
}

得到余数有什么意义呢?我不明白。(该数组名为 Qint front = -1int back = 0int size = 0 >)

最佳答案

由于这是一个循环队列,一旦队列末尾到达数组末尾,如果添加另一个元素,它应该添加到数组开头。

数组的有效索引为 0SIZE - 1(假设 SIZE == Q.length)。

因此,在 Q[back == SIZE-1] 添加元素后,队列的末尾应变为 (back+1) % SIZE == (SIZE- 1+1)%大小==0

附注我不确定您是否包含 enqueue 方法的完整代码。在添加新元素之前,您似乎没有检查队列是否已满。

关于java - 循环数组队列中的余数操作数有什么意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54879442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com