循环滚动的索引位置

假设有5个数,初始位置为0,1,2,3,4。
向左移动一位,顺序为4,0,1,2,3
再向左移一位,顺序为3,4,0,1,2
同理,在原始位置0,1,2,3,4
右移一位,1,2,3,4,0
再右移一位,2,3,4,0,1

向左移动一位时,由原最左边的数得到新的最左边的数:j=(i-1+n)%n
向右移动一位时,由原最左边的数得到新的最左边的数:j=(i+1)%n

由于j=(i+1)%n=(i+1+n)%n所以可以用统一的形式:
j=(i+dir+n)%n
其中dir向左为-1,向右为+1。

你可能感兴趣的:(索引)