如果退出阵列,请从另一侧输入

Kri*_*nov 0 c# c++ math

我怎么能这样做,例如,如果我有1个,2个,3个,4个,5个,6个,7个阵列,并且我处于第4个位置(5号),如果你必须将它移动到正确的4个位置,你应该在位置1(编号2).负数也是如此,但你向左移动.我想有需要while(true)循环?

Val*_*tin 8

让我们假设i是索引,并且n是数组的大小.对于正数i,所需指数= i%n 对于负i i%n回报负残差,所以所需指数为n+i%n

您可以使用

int index(int i, int n) {
   return i%n < 0 ? n + (i%n) : i%n;
}
Run Code Online (Sandbox Code Playgroud)