1. 程式人生 > >資料結構:八大排序之簡單選擇排序(選擇排序)

資料結構:八大排序之簡單選擇排序(選擇排序)

1、演算法思想:在待排記錄中依次選擇關鍵字最小的記錄新增到有序序列中,逐漸縮小範圍直至全部記錄選擇完畢。每一趟從待排的無序區中選出關鍵字最小的記錄,順序放在已排好序的子序列的最後,直至記錄全部排完。

2、複雜度:直接選擇排序的時間複雜度為O(n2)。空間複雜度 O(1) 穩定性 :不穩定的排序方法

3、java程式碼:

package SelectedSort;

import java.util.Arrays;

public class SelectedSort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] data= {13,38,65,97,76,49,27};
            selectedSort(data);
    }
    public static int[] selectedSort(int[] data){
        int min; 
        int n=data.length;
        for(int i=0;i<n-1;i++){
            min=i;
            for(int j=i+1;j<n;j++){
                if(data[j]<data[min]){
                    min=j;
                }
            }
            if(min!=i){
                int tmp=data[i];
                data[i]=data[min];
                data[min]=tmp;
            }
        }
        System.out.println(Arrays.toString(data));
        return data;
    }

}

4、執行結果:[13, 27, 38, 49, 65, 76, 97]