選擇排序,和氣泡排序一樣,都是從第一個元素開始依次和後面的元素比較大小,不同的是選擇排序每次比較之後,不交換位置,而是記錄最小的元素的索引,這樣在一次遍歷完之後在將索引位置的元素與比較的元素交換,這樣可以不用頻繁的交換元素位置. 程式碼:
public static void sort(int[] arr){
for (int i = 0; i < arr.length; i++) {
int index=i;
for (int j = i; j < arr.length; j++) {
if(arr[i]>arr[j]){
index=j;
}
}
//判斷索引值是否改變,如果改變,則交換元素
if(index!=i){
int temp=arr[i];
arr[i]=arr[index];
arr[index] = temp;
}
}
}
複製程式碼