读书人

循环滚动的目录位置

发布时间: 2012-09-22 21:54:54 作者: rapoo

循环滚动的索引位置
假设有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。

读书人网 >编程

热点推荐