排序-選擇排序

拿一個(gè)元素(當(dāng)前元素)和剩下的(除去排好序的)比較,獲得最小值索引 然后和當(dāng)前元素交換

注意:
開始取a[i] 為a[min] ,a[min] 和a[i→n]第一個(gè)比較 ,不過(guò)不是和全部的比較
因?yàn)閍[i→n]比a[0]小的有很多,
應(yīng)該是取到一個(gè)比a[min]小的值 要把當(dāng)前索引賦值給min 然后繼續(xù)遍歷
遍歷完內(nèi)層循環(huán)后就會(huì)得到最小值的索引,然后和a[i]交換

    @Test
    public void test(){
        int[] a = {4, 2, 5, 3, 1, 0};
        selection(a);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + ",");
        }
    }
    public void selection(int[] a){
        for (int i = 0; i < a.length; i++) {
            int min = i;
            for(int j = i + 1; j < a.length; j++){
                if(less(a[j], a[min])){
                    min = j;
                }
            }
            exch(a, i, min);
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容