內(nèi)存排序(二)——選擇排序

核心過程

算是冒泡的一個(gè)簡(jiǎn)單優(yōu)化。
冒泡本質(zhì)是每次把最大的數(shù)放最后(或者最小的放最前)。
那么每次都比較并交換相鄰的兩個(gè)數(shù),不如直接選取最大數(shù)并和最后位置的數(shù)交換。
比較次數(shù)一樣,但是交換次數(shù)大大減少。

public static void selectionSortCore(int[] list, int begin, int end){
    int maxIndex = begin;
    for (int i = begin; i <= end; i++) {
        if(list[maxIndex] < list[i]){
            maxIndex = i;
        }
    }
    int temp = list[maxIndex];
    list[maxIndex] = list[end];
    list[end] = temp;
}

迭代過程

與冒泡同理。

public static void selectionSortIteration(int[] list){
    for (int i = list.length - 1; i >= 0 ; i--) {
        selectionSortCore(list, 0, i);
    }
}

合并兩過程的寫法

public static void selectionSort(int[] list){
    for (int i = list.length - 1; i >= 0 ; i--) {
        int maxIndex = 0;
        for (int j = 0; j <= i; j++) {
            if(list[maxIndex] < list[j]){
                maxIndex = j;
            }
        }
        int temp = list[maxIndex];
        list[maxIndex] = list[i];
        list[i] = temp;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 文/匡宗貴 三首小詩三朵花, 妖嬈絢麗勝奇葩。 若無高手誰能繪, 巾幗揮毫染彩霞。
    艾思閱讀 1,324評(píng)論 25 50
  • 嫣然一笑,一段孽戀情緣;抱布貿(mào)絲,二人義定終生;單車既走,三歲才知錯(cuò)白頭… 情愫益暖,嗤嗤如他,微笑輦攆過每寸光陰...
    青苔輕緩爬滿陽光1105閱讀 294評(píng)論 0 4
  • 我看到孫老師發(fā)的信息把自己寫的最好的日記發(fā)給她。哎我覺得我寫的都不是太好,我就不發(fā)了。我晚上沒事就看到群里的日記。...
    家和萬事興_dbbc閱讀 277評(píng)論 0 0
  • 文章用于個(gè)人學(xué)習(xí),是對(duì)自己學(xué)習(xí)的簡(jiǎn)單小結(jié),以便以后返回來學(xué)習(xí)。 1. 數(shù)據(jù)庫基本操作 2. 示例 3. SQ...
    94very閱讀 487評(píng)論 0 0
  • 今天是什么日子 起床:6:53 就寢:23:00 天氣:晴 心情:暗怒 紀(jì)念日:圣誕節(jié) 任務(wù)清單 周目標(biāo)·完成進(jìn)度...
    抬頭望見月_閱讀 114評(píng)論 0 0

友情鏈接更多精彩內(nèi)容