天天看點

排序 1 --選擇排序

排序基本原理:給定一組記錄,經過第一輪比較後,選出最小的并與第一個記錄的位置交換;然後對除第一個記錄以外的數字進行比較。

舉例:11,1,5,7,8

第一趟:1,11,5,7,8 //1是最小是以和第一個位置的11交換

第二趟:1 ,5 ,11 ,7 ,8 //5是最小和第二個位置11交換

第三趟;1,5,7,11,8 //7是最小和第三個位置交換

第四趟:1,5,7,8,11 //

代碼如下:

public class SortTest{
    public static void sort(int[] arr){
        for(int i=;i<arr.length;i++){
            int temp=arr[i];
            int flag=i;
            for(int j=i+;j<arr.length;j++){
                if(temp>arr[j]){
                    temp=arr[j];
                    flag=j;
                }
            }
        }
        if(flag!=i){
            arr[flag]=arr[i];
            arr[i]=temp;
        }
    }

     public static void main(String[] args){

        int[] arr={,,,,,,,};
        sort(arr);
        for (int i=;i<arr.length;i++){
            System.out.print(arr[i]+",");
        }
    }
}
           

時間複雜度 平均時間O(n2)

繼續閱讀