这是原始问题
创建一个方法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);
}