排序算法之選擇排序的思想以及Java實現

1 基本思想
選擇排序的思想是,每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。

2,算法的實現(Java)

package Algorithm;

public class SelectSort {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};
        System.out.println("排序之前:");
        out_put.output(data);
        System.out.println();
        System.out.println("排序之後:");
        SelectSort.select_sort(data);
        out_put.output(data);
    }

    public static void select_sort(int[] arr){
        if(arr == null || arr.length < 2){
            return;
        }   
        int index;//定義下標
        for(int i=0;i<arr.length;i++){
            index = i;//初始下標爲i
            for(int j=i+1;j<arr.length;j++){
                if(arr[j]<arr[index]){
                    index = j;
                }
            }
            if(index != i){
                int temp = arr[index];
                arr[index] = arr[i];
                arr[i] = temp;
            }
        }
    }
}

得到的結果爲:
這裏寫圖片描述

3 性能分析
選擇排序的時間複雜度爲O(n^2),由於每次選擇僅考慮某一位置上的數據情況,可能會破壞之前數據的相對位置,因此它是一種不穩定的排序方法。

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