1. 程式人生 > >排序演算法三--選擇排序

排序演算法三--選擇排序

選擇排序(SelctionSort)

  1. 基本思想:
    在長度為N的無序陣列中,第一次遍歷n-1個數,找到最小的數值與第一個元素交換;
    第二次遍歷n-2個數,找到最小的數值與第二個元素交換;
    。。。
    第n-1次遍歷,找到最小的數值與第n-1個元素交換,排序完成。

  2. 過程:

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

java程式碼實現:

public static void select_sort(int array[],int lenth){

   for(int i=0;i<lenth-1;i++){

       int minIndex = i;
       for(int j=i+1;j<lenth;j++){
          if(array[j]<array[minIndex]){
              minIndex = j;
          }
       }
       if(minIndex != i){
           int temp = array[i];
           array[i] = array[minIndex];
           array[minIndex] = temp;
       }
   }
}