基本思想
直接選擇排序是從無序區選一個最小的元素直接放到有序區的最後。
算法實現
public void sort(int[] array) {
for (int i = 0; i < array.length; i++) {
int k = i;
for (int j = i + 1; j < array.length; j++) { // 從無序區開始找最小的元素
if (array[j] < array[i]) {
k = j; // 記錄最小的位置
}
}
if (k != i) { // 如果array[i]不是無序區最小的,需要和無序區最小的進行交換
int tmp = array[i];
array[i] = array[k];
array[k] = tmp;
}
// 如果array[i]是無序區最小的元素,不需要交換
}
}