1. 程式人生 > 其它 >選擇排序的java實現

選擇排序的java實現

選擇排序的實現原理:從指定的n條記錄中獲取最大值或者最小值放在最開始位置,然後從第二個元素繼續遍歷取出剩餘元素的最大值或者最小值,直到元素個數為0。

選擇排序的時間複雜性分析:O(n2),排序時資料交換的次數比氣泡排序要少,所以n值較小時,選擇排序比氣泡排序快。

選擇排序的演算法穩定性:選擇排序會交換相等元素的位置,不是穩定性演算法。

選擇排序的java程式碼實現:

public class Selection{

    public static void selectSort(Comparable[] arr){
        for (int i = 0; i < arr.length - 1; i ++){
            
int minIndex = i; for (int j = i + 1; j < arr.length; j ++){ if (greater(arr[minIndex], arr[j])){ minIndex = j; } } exch(i, minIndex, arr); } } public static boolean greater(Comparable a, Comparable b){
return a.compareTo(b) > 0; } public static void exch(int i, int j, Comparable[] arr){ Comparable temp = arr[i]; arr[i] = arr [j]; arr[j] = temp; } public static void main(String[] args) { Integer[] arr = {1,2,5,4,3,10,2,4,7,8,9}; Selection.selectSort(arr); System.out.println(Arrays.toString(arr)); } }