選擇排序及其優(yōu)化

選擇排序:外循環(huán)循環(huán)一輪,就是拿這個固定位置的數(shù)與后面比較,確保當(dāng)前這個位置的數(shù)是這個位置之后的所有數(shù)據(jù)的最小值.不明白意思的話看代碼:(注釋掉的代碼)

package com.qf.demo4;

public class Test2 {

    public static void main(String[] args) {
        int[] a = {5,18,9,2,6,3};
//      for (int i = 0; i < a.length-1; i++) {
//          for (int j = i+1; j <= a.length-1; j++) {
//              if(a[i]>a[j]){
//                  int temp = a[i];
//                  a[i] = a[j];
//                  a[j] = temp;
//              }
//          }
//      }
        
        
        // 選擇排序的優(yōu)化: 提高效率
        // 6個數(shù)   至多 交換5次    
        for (int i = 0; i < a.length-1; i++) {
            int min = i;
            for (int j = i+1; j <= a.length-1; j++) {
                if(a[min]>a[j]){
                    min = j;// 把  最小的數(shù)據(jù)的下標(biāo)給 min 
                                // min 一直是最小的數(shù)據(jù)的下標(biāo)
                }
            }
            //如果當(dāng)前最小值不是a[i] , 即下標(biāo)不同時 ,交換
            if(i!=min){
                int temp = a[i];
                a[i] = a[min];
                a[min] = temp;
            }
            
        }
        
        for (int i : a) {
            System.out.println(i);
        }
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 基本思想 這是思路最簡單的排序算法。 找到數(shù)組中最小的那個元素; 將它和數(shù)組的第一個元素交換位置(如果第一個元素就...
    TinyDolphin閱讀 4,194評論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,812評論 25 709
  • (茨)“吾名為茨木童子,為了滿足自己的愿望,正在尋找我的一個朋友?!?(茨)“他就是我追求的極致,位于妖族頂點的男...
    袖間長寄風(fēng)與月閱讀 1,150評論 0 0
  • 生命就像一把火花,在我們需要它的時候,它熄滅了;在我們不需要的時候,而它竟然熊熊燃燒了。唉[暈][暈][暈][暈]...
    孫佳瑤閱讀 225評論 0 1

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