gpt4 book ai didi

java - 如何对整数循环数组执行左移?

转载 作者:行者123 更新时间:2023-11-29 10:07:16 25 4
gpt4 key购买 nike

是否存在对整数循环数组执行左移的现有方法?

具体来说,给定一个包含 4 个项目 {1,2,3,4} 且移位量为 2 的数组,我想要一种将前两个字母移位到后面的方法数组,使其看起来像这样:{3,4,1,2}

这个算法可以将圆形数组移动一位吗?

algShiftByOne(Array)
{
temp=array[0];
i=1
while(i < Array.length - 1) // Loop from 1 up to array.length == last index
{
// If there is no exception i assume it copies value from
// initial array starting from 1 up to array.length
Array[i - 1] = Array[i];
i++;
}
Array[Array.length]=temp;
}

最佳答案

这是我的做法...(这是一个 ideone.com demo )

import java.util.Arrays;

public class Test {

public static void circularShiftLeft(int[] arr) {
if (arr.length == 0)
return;

int first = arr[0];
System.arraycopy(arr, 1, arr, 0, arr.length - 1);
arr[arr.length - 1] = first;
}

public static void main(String[] arg) {
int[] arr = { 1, 2, 3, 4 };
System.out.println(Arrays.toString(arr));
circularShiftLeft(arr);
System.out.println(Arrays.toString(arr));
}
}

关于java - 如何对整数循环数组执行左移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4454072/

25 4 0
文章推荐: javascript - 未捕获的类型错误 : Immutable prototype object '#' cannot have their prototype set