選擇排序 (java)

介紹

  1. 選擇待排序序列中選擇最小的元素,然後和待排序序列的第一個元素交換位置
  2. 將剩下的待排序序列中選擇最小的元素,和待排序序列的第二個元素交換位置
  3. 重複以上步驟,直到將整個序列都排序。

因爲在不斷的選擇剩餘最小的元素,所以稱之爲選擇排序

算法特點

  • 不穩定排序
  • 交換次數固定爲n-1次交換
  • 比較次數也固定爲(n-1)*n/2
  • 算法複雜度爲:O(n^2)
  • 選擇排序的時間複雜度和數據的輸入無關

代碼示例-Java

 /**
 * 簡單選擇排序
 * @param nums
 * @return
 */
public static void selectSort(int[] nums){
    if (nums == null || nums.length <= 0) return;

    int minIndex, temp;
    for (int i = 0; i < nums.length ; i++){
        minIndex = i;
        for (int j = i + 1; j < nums.length; j++){
            if (nums[j] < nums[minIndex]){
                minIndex = j;
            }
        }

        temp = nums[minIndex];
        nums[minIndex] = nums[i];
        nums[i] = temp;
    }
}

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