91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何選擇排序及其優化

發布時間:2021-10-13 09:57:05 來源:億速云 閱讀:116 作者:iii 欄目:編程語言

這篇文章主要講解了“如何選擇排序及其優化”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何選擇排序及其優化”吧!

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

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] + ",");
}

我們可以發現外面的循環每次都是第i個數和剩下的length-i-1個數做比較

如下圖

如何選擇排序及其優化

優化:

每次遍歷找出最大值和最小值,那么我們循環的次數就會少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 而里層遍歷又少隨著最大值和最小值的縮小而縮小區間

如何選擇排序及其優化

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

感謝各位的閱讀,以上就是“如何選擇排序及其優化”的內容了,經過本文的學習后,相信大家對如何選擇排序及其優化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴堡县| 治县。| 肇州县| 十堰市| 海阳市| 集贤县| 仙桃市| 长春市| 万州区| 阜城县| 林芝县| 灵璧县| 周口市| 伊吾县| 阿拉善右旗| 乳山市| 郓城县| 闵行区| 沾化县| 嘉善县| 东至县| 肃宁县| 馆陶县| 宣武区| 临洮县| 醴陵市| 镇江市| 育儿| 衡南县| 双桥区| 嵊州市| 互助| 水城县| 水富县| 分宜县| 囊谦县| 宁陵县| 库尔勒市| 栖霞市| 克拉玛依市| 华池县|