程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 【排序算法】直接選擇排序算法 Java實現

【排序算法】直接選擇排序算法 Java實現

編輯:關於JAVA

【排序算法】直接選擇排序算法 Java實現。本站提示廣大學習愛好者:(【排序算法】直接選擇排序算法 Java實現)文章只能為提供參考,不一定能成為您想要的結果。以下是【排序算法】直接選擇排序算法 Java實現正文


  1. 基本思想

    直接選擇排序是從無序區選一個最小的元素直接放到有序區的最後。

    1. 初始狀態:無序區為a[1...n],有序區為空。
    2. 第一次排序:在無序區a[1...n]中選出最小的記錄a[k],將它與有序區的第一個元素交換,使a[1...1]和a[2...n]分別變為
      記錄個數增加1個的新有序區和記錄個數減少1個的新無序區。
    3. ... 經過n-1次排序結束。
  2. 算法實現

    public void sort(int[] array) {
        for (int i = 0; i < array.length; i++) {
            int k = i;
    
            for (int j = i + 1; j < array.length; j++) { // 從無序區開始找最小的元素
                if (array[j] < array[i]) {
                    k = j; // 記錄最小的位置
                }
            }
    
            if (k != i) { // 如果array[i]不是無序區最小的,需要和無序區最小的進行交換
                int tmp = array[i];
                array[i] = array[k];
                array[k] = tmp;
            }
            // 如果array[i]是無序區最小的元素,不需要交換
        }
    }



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved