java - 選擇排序

簡單選擇排序

排序思想

從0索引開始,依次和後面的元素進行比較,小的元素往前放,經過一輪比較後,最小的元素就出現在了最小索引處。

package sort;

import java.util.Arrays;

//選擇排序的思想
//每一趟從待排序的數據元素中選擇最小(或最大)的一個元素作爲首元素,直到所有元素排完爲止,簡單選擇排序是不穩定的排序
public class SelectSort {
    public static void main(String[] args){
        int[] arr = {7,1,3,4,5};
        selectSort(arr);
        System.out.println(Arrays.toString(arr));
    }
    
    //選擇排序
    public static void selectSort(int[] arr){
        //遍歷所有的數
        for(int i=0;i<arr.length-1;i++) {
            //把當前遍歷的數和後面所有的數依次進行比較,並記錄下最小的數的下標
            for (int j = i+1; j < arr.length; j++) {
                //假設arr[i]最小
                if (arr[j] < arr[i]) 
                    swap(arr,j,i);
            }
        }
    }

    //交換數組元素
    private static void swap(int[] arr,int a,int b){
        arr[a] = arr[a] + arr[b];
        arr[b] = arr[a] - arr[b];
        arr[a] = arr[a] - arr[b];
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章