真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

這篇文章主要講解了“如何選擇排序及其優(yōu)化”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何選擇排序及其優(yōu)化”吧!

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),泉港企業(yè)網(wǎng)站建設(shè),泉港品牌網(wǎng)站建設(shè),網(wǎng)站定制,泉港網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,泉港網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

我們先來看看最原始的版本

for (int i = 0; i < beg.length - 1; i++) {for (int j = i + 1; j < beg.length; j++) {if (beg[i] >= beg[j]) {int temp = beg[j];beg[j] = beg[i];beg[i] = temp;
        }
    }
}for (int k = 0; k < beg.length; k++) {
    System.out.print(beg[k] + ",");
}

我們可以發(fā)現(xiàn)外面的循環(huán)每次都是第i個(gè)數(shù)和剩下的length-i-1個(gè)數(shù)做比較

如下圖

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

優(yōu)化:

每次遍歷找出最大值和最小值,那么我們循環(huán)的次數(shù)就會(huì)少1/2

for (int i = 0; i < (beg.length - 1) / 2; i++) {int min = i;int max = i;for (int j = i + 1; j < beg.length - i; j++) {
        min = beg[i] >= beg[j] ? j : min;
        max = beg[i] >= beg[j] ? max : j;
    }if (min + max == beg.length - 1) {int temp3 = beg[beg.length - 1 - i];beg[beg.length - 1 - i] = beg[i];beg[i] = temp3;
    } else {int temp = beg[min];int temp2 = beg[max];beg[min] = beg[i];beg[max] = beg[beg.length - 1 - i];beg[i] = temp;beg[beg.length - 1 - i] = temp2;
    }
}for (int k = 0; k < beg.length; k++) {
    System.out.print(beg[k] + ",");
}

最外層遍歷少了1/2 而里層遍歷又少隨著最大值和最小值的縮小而縮小區(qū)間

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

這里需要考慮一下極值的情況即最大值和最小值剛好交換的情況,如圖中1和9剛好是最大值與最小值

感謝各位的閱讀,以上就是“如何選擇排序及其優(yōu)化”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何選擇排序及其優(yōu)化這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


當(dāng)前名稱:如何選擇排序及其優(yōu)化
網(wǎng)站網(wǎng)址:http://weahome.cn/article/jsppsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部