簡單選擇排序

選擇排序

非穩定排序

時間複雜度   O(n^2)

空間複雜度     最差 O(n) 最優 O(0)

排序思想:
每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作爲有序序列中第i個記錄。
簡單來說就是:把數據中最小的值依次找出來。
排序算法:
將數據進行n-1次排序,每次排序取arry[i+1,n-1]中最小的值與arry[i]交換。
java實現:
/**
* 簡單選擇排序
* @param array
*/
public static void  selectSort(int[] array){
    int len=array.length;
     for(int i=0;i<len-1;++i){
       int d=i;
         for(int j=i+1;j<len;++j){
         //找到array[i+1,n-1]中最小的數的下標
        if(array[j]<array[d]){
       d=j;
      }
    }
   //如果array[i]已經是最小的就無需再替換了
     if(d!=i){
        int temp=array[d];
        array[d]=array[i];
       array[i]=temp;
     }
   }
}  


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