當我把一個數組我的方法裏public int[] insertionSort(final int array[])
我不改變內部的數組的數組[]我不想改變方法
public int[] insertionSort(final int array[]) {
int[] array_for_sorting = array;
final int[]TempArray = array;
int n = array_for_sorting.length;
// printNumbers(TempArray);
for (int j = 1; j < n; j++) {
int key = array_for_sorting[j];
int i = j-1;
while ((i > -1) && (array_for_sorting [i] > key)) {
array_for_sorting [i+1] = array_for_sorting [i];
i--;
}
array_for_sorting[i+1] = key;
// printNumbers(array_for_sortying);
}
//array = TempArray;
printNumbers(TempArray);// for printing
return array_for_sorting;
}
也,爲何在for循環我TempArray變化?
你不需要在這裏決定;您不能重新分配該數組引用。 – duffymo
@duffymo:我沒有得到你。 –
「不能重新分配另一個數組到最終數組引用」 - 即使關閉最後一個參數,也不能重新分配引用參數。 Java是通過價值傳遞的。 – duffymo