選擇排序 是這樣的原理
第一次排序將 最小的值 放在第一位
第二次排序將 第二小的放在第二位
之後 依次把第i小的 放在 i 位置上
我覺得最重要的一點是 如何拿到最小的那個數的 下標 這是關鍵
第一次外部循環 時 將第0位作爲下標index
然後 內部循環 比較第1位 的大小 和 index位置的大小
如果發現更小的數,就把這個數的下標記錄給index 一直找到最小的數的 那個下標
第二次循環 時候 第一位已經是最小的數了 就從第二位開始 找最小的數 下標給index
最後交換位置 就達到效果 。
代碼如下:
public static void main(String[] args) {
int[] arr = {34, 45, 12, 89, 25, 76, 44, 90, 1, 62, 59};
for (int i = 0; i < arr.length - 1; i++) {
int temp = 0;
int index = i;
for(int j =i+1;j<arr.length;j++){
if(arr[j]<arr[index]){
index=j;
}
}
temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
System.out.println(Arrays.toString(arr));
}