-2
public int[] selectionSort(int array[]) {
for(int i = array.length - 1; i >= 0; i--) {
int highestIndex = i;
for(int j = i; j >= 0; j--) {
if(array[j] > array[highestIndex])
highestIndex = j;
}
int temp = array[i];
array[i] = array[highestIndex];
array[highestIndex] = temp;
}
return array;
}
我理解選擇排序的概念,但代碼讓我感到困惑。特別是,有人可以解釋從「int temp = array [i];」開始的外部for循環的最後三條語句中發生了什麼。需要幫助瞭解代碼段
http://stackoverflow.com/questions/13766209/effective-swapping-of-elements-of-an-array-in-java –
您可以切換「數組[array] [數組] [數組[最高索引] '。要做到這一點,你需要複製'array [i]',這樣你可以在被array [i] = array [highestIndex];'覆蓋之後訪問該值。 – Gendarme