0
我想知道,如果我的SelectionSort的下面的實現是一個可能的實現。感謝你們! :)這是一個可能的實現選擇排序
public static int[] mySelectionSort (int [] array){
int position = 0;
int tmp;
for (int j = array.length -1; j >= 0; j--){
int max = array[0];
for (int i = 0; i <= j; i++){
if (array[i] >= max){
max = array[i];
position = i;
}
}
tmp = array[j];
array[j] = max;
array[position] = tmp;
}
return array;
}
感謝您的回答。我用一些例子檢查了算法,它運行良好。爲什麼職位必須改變?在我看來,它是正確的,因爲位置只保存最大元素的位置,當內部循環結束時,位置j上的元素與位置上的元素交換。 – KSV97