gpt4 book ai didi

C++模数运算符循环数组

转载 作者:行者123 更新时间:2023-11-30 02:46:33 25 4
gpt4 key购买 nike

我试图在圆形阵列中实现“环绕”效果。当我将一个项目推到前面时,我希望它存储在递减的位置。当我推到前面时,我正在尝试这样的事情:

items[front] = ch;
front = (front - 1) % capacity;

但这并没有像我预期的那样环绕。 Front 从 0 开始,当第二行执行时,front 变为 -1。第二行执行后 front 不应该变成 6 吗?我的数据结构教科书似乎是这么认为的。

最佳答案

这就是 % 在 C++ 中的工作方式。要获得您想要的效果,请尝试以下操作:

front = (front + capacity - 1) % capacity; 

关于C++模数运算符循环数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23451511/

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