2014-07-07 33 views
0

我想基於名爲control的特定變量在數組中添加一些值。假設控件的值是2,那麼我將在下面的方式進行操作:如何在基於索引的數組中添加值,以便數組的行爲以循環方式

for(int i=0;i<array.length;i++) 
{ 
    array[i+control]=value; 
} 

但是,我不想數組出界,所以我要在情況下,指數熄滅的價值應該回到前面,像一個隊列。例如,如果我的數組有5個空格,並且控制的值是2,那麼在上面循環的最後一次迭代(i = 4)的情況下,數組[i + control]應該引用第二個索引。

有沒有人知道如何以簡單的方式解決這個問題?我不想將該數組實現爲隊列。有沒有其他方法?對於m小於或等於n和n對於m大於n(假設m和

array[(i+control)%(array.length)] = value 

否則n%m將總是在範圍返回一個值[0,N-1]:

+1

'if(i + control

回答

1

嘗試此n是正整數)。

2

您可以索引模數組長度

i % array.length將從control運行到array.length-1然後再次從0開始。

相關問題