逆环索引以获取最大索引作为C上第一个索引的第一个

时间:2018-11-11 17:38:29

标签: c algorithm

我不确定如何获取反索引,索引%size可以直接索引,但我需要的是,如果tou在0索引中,则得到最后一个索引是0的前一个。

[0][1][2][3] // the previous index of 0 should be 3

2 个答案:

答案 0 :(得分:1)

在语言 C 中,余数运算符可以按如下方式使用,以获得真实的(正)模结果:

(index+n-1)%n

其中 n 是数组的长度。

答案 1 :(得分:0)

如果我正确理解了您的意思,那么您可以说prev(index) = (index-1) % len(array),因为%返回的是模数,而不是余数(取决于语言,mod操作可能略有不同整数的行为)

int m(int a,int b){
return (a % b + b) % b;
}

所以您只需定义prev(n) = m(n-1,len(array))