學習筆記之算法--選擇排序

/**
 * 原理:每次循環選出餘下需要排序數據中最小的與指定位置進行交換
 * @param arr
 */
public static void selectSort(int[] arr){

    System.out.println("選擇排序前:" + Arrays.toString(arr));
    for(int i = 0;i < arr.length-1;i++){
        int index = i;
        for(int j = i + 1;j < arr.length;j++ ){
            if(arr[index] > arr[j]){
                index = j;
            }
        }
        if(i != index) {//此判斷可減少不必要的交換
            int temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;
        }
    }
    System.out.println("選擇排序後:" + Arrays.toString(arr));
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章