猿问

使用arraycopy方法进行右循环移位java

我需要有关如何在 Java 中使用 arraycopy 方法的帮助。


我有一个字符数组,例如:


[A B C D]


并且我想向右执行循环移位,例如,如果循环移位为整数 2,则字符将向右移动两个位置,从而导致:


[c、d、a、b]


我想知道如何使用 arraycopy 方法实现这一点。


在将数组向左移动一定数量的移位时,我设法实现了它,如下所示:


System.arraycopy(sArray, leftShifts, leftShiftedArray, 0, n - leftShifts);

System.arraycopy(sArray, 0, leftShiftedArray, n - leftShifts, leftShifts);

我只是发现很难为权利做同样的事情。


紫衣仙女
浏览 135回答 1
1回答

翻过高山走不出你

将N-element 数组向左旋转一个元素k相当于将同一个数组向右旋转一个N-k元素。因此,所有你需要做的是替换leftShifts用n - rightShifts在公式中:System.arraycopy(sArray, n - rightShifts, rightShiftedArray, 0, rightShifts); System.arraycopy(sArray, 0, rightShiftedArray, rightShifts, n - rightShifts);
随时随地看视频慕课网APP

相关分类

Java
我要回答