gpt4 book ai didi

c++ - 从任意位置开始遍历整个数组,仅使用一个变量

转载 作者:太空狗 更新时间:2023-10-29 19:41:51 31 4
gpt4 key购买 nike

非常简单,我想循环遍历 arraysize 数组的每个索引,只使用一个 var 进行循环。我有一种方法可以使用两个变量 ij,其中 i 跟踪实际索引并循环,j 计数到 arraysize 并终止循环:

for (unsigned int i = start, j = 0; //start is the starting index
j < arraysize;
++i == arraysize ? i = 0 : 0, ++j)
{
//do stuff
}

是否有一些巧妙的方法可以仅使用 i 来做到这一点?如果出于某种原因向后迭代有意义,则顺序无关紧要。

说明:我想从 start 循环到 arraysize - 1,然后从 0 循环到 start - 1.

最佳答案

至少据我所知,你想遍历整个数组,但是你想从开头以外的某个地方开始,然后当你到达结尾时,你想从头开始从头开始,继续前进,直到到达原来的起点。

假设这是正确的,这很容易:

for (size_t i=0; i<arraysize; i++)
process(array[(i+start)%arraysize]);

关于c++ - 从任意位置开始遍历整个数组,仅使用一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688833/

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