一、原理
兩元素之間一一對比,不進行位置交換,對比完畢挑選出最小值,將最小值與第一個位置元素進行交換。
同理,挑選出第二小的值,與第二個位置元素進行交換交換,循環往復
二、代碼實現
private void selectionSort(int[] array) {
for(int i = 0; i < array.length; i++) {
//index即爲最小值位置記錄
int index = i;
for(int j = i + 1; j < array.length; j++) {
if(array[index] > array[j]) {
index = j;
}
}
//若最小值角標不是i,則說明i位置不是最小值,需要進行交換
if(index != i) {
int y = array[i];
array[i] = array[index];
array[index] = y;
}
}
System.out.println(Arrays.toString(array));
}
三、時間複雜度