所以目标是将数组中的元素向右旋转 a
次。举个例子;如果 a==2
,则 array = {0,1,2,3,4}
将变为 array = {3,4,0,1,2}
这是我所拥有的:
for (int x = 0; x <= array.length-1; x++){
array[x+a] = array[x];
}
但是,这无法说明何时 [x+a]
大于数组的长度。我读到我应该将更大的数组存储在不同的数组中,但看到 a
是可变的我不确定这是最好的解决方案。提前致谢。
原文由 user3476154 发布,翻译遵循 CC BY-SA 4.0 许可协议
在您的代码中添加模数数组长度:
您还应该创建一个新的
Array
复制到,这样您就不会覆盖稍后需要的值。