public static int[] sortIntegers(int[] array) {
int n = array.length;
int temp = 0;
for (int k = 0; k < n - 2; k++) {
//controls how many passes is needed to sort the entire array
int test=0;
for (int i = 0; i < n - k - 1; i++) {
//controls the amount of swaps that is needed for each pass
//ascending order
if (array[i] > array[i + 1])
//swap array[i] and array[i+1]
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
test=3;
}
if(test==0){
break;
}
}
return array;
}
public static void printArray(int[] array){
for(int i=0; i<=array.length-1; i++){
System.out.println("Element " + i + " is " + array[i]);
}
}
所以我想按升序对数组进行排序,它似乎没有工作。另外我的课程出于某种原因说创建一个新的sortedIntegers数组,但我不明白为什么你会想这样做,当你可以改变传递的数组。我的朋友告诉我,创建一个新的数组是更简单的方法,但我觉得我不是得到的东西....有人能告诉我这个代码的问题是什么?
你不能使用'Collections.sort()'? –
交换'array [i]'和'array [i + 1]'时,缺少大括号('{'和'}')。 –
“我的课程出于某种原因说创建一个新的数组” - 因为方法不应该修改它们的参数 –