gpt4 book ai didi

c++ - 队列与 mod 操作

转载 作者:太空狗 更新时间:2023-10-29 20:12:37 25 4
gpt4 key购买 nike

我正在学习数据结构(队列)的基础知识,到目前为止我了解队列的流程,但我不明白队列何时应用 Mod 运算符。有几个问题让我很困惑。如何回答这个问题(引用图片)?

Here the example of questions.

最佳答案

处理循环队列最好的方法是把它们抽出来。由于圆圈不能很好地用 ASCII 艺术张贴,我将使用线性阵列。

+---+---+---+---+---+  
| | | | | |
+---+---+---+---+---+
0 1 2 3 4
^
Rear

REAR 在索引 4 处。

让我们一步一步地执行操作。
第一:REAR加1。这使得 REAR 点超出了数组:

+---+---+---+---+---+  
| | | | | |
+---+---+---+---+---+
0 1 2 3 4 5
^
Rear

应用模运算 %,这将为我们提供 5/5 的余数为零:

+---+---+---+---+---+  
| | | | | |
+---+---+---+---+---+
0 1 2 3 4
^
Rear

因此模运算环绕数组,就像一个圆圈。

下一个问题由您来解决。记住绘制数组或队列。您可以使用圆圈(想想切好的馅饼或切好的披萨)。

编辑 1:模细节
当 N 是除数时,模运算将给出 0..N 范围内的值。

给定 N == 4,这里是模数的一些结果:

Index result
0 0
1 1
2 2
3 3
4 0 --> The remainder of 4 / 4 == 0.
5 1
6 2
7 3
8 0 --> The remainder of 8 / 4 == 0.

关于c++ - 队列与 mod 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26443294/

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