这是原始问题

创建一个方法int[] sort(int[] arr),返回一个新的排序数组(递增顺序),其中包含与arr相同的整数集。数组arr应该保持不变。

这是方法:

private static int[] sort(int[] arr){
        int i,z=0,temp,y,x;
        int[] secondArray = new int [arr.length];
        for (i=0; i<arr.length; i++){
            secondArray[z] = arr[i];
        }
        for (y=0; y < secondArray.length; y++) {
            for (x = 0; x<secondArray.length; x++){
                if (secondArray[y] < secondArray[x]){
                    temp = secondArray[y];
                    secondArray[y] = secondArray[x];
                    secondArray[x] = temp;
                }
            }
        }
        return secondArray;
    }


输入:int[] n = {1,4,5,343,45,67};

输出:1 4 5 343 45 67

对数组arr进行排序很容易,但是问题要求保持arr不变。因此,我尝试创建一个新数组,并对新数组进行排序,但是它不起作用。

请帮助。

最佳答案

如果您不需要手动对数组进行排序:

private static int[] sort(int[] arr){
    int[] secondArray = new int[arr.length];
    for (int i=0; i < arr.length; i++){
        secondArray[i] = arr[i];
    }

    return Arrays.sort(secondArray);
}

09-28 07:35