排序系列一: 選擇排序法

? ? ? ? Hello,大家好!應(yīng)廣大"鳥友"強(qiáng)烈要求,小編將會推出《排序系列》,給大家講講排序那些事。

? ? ? ?那么今天首先給大家講解最符合人類思維邏輯的超簡單排序法?《選擇排序法》。

? ? ? ?顧名思義,選擇排序法就是"先選后排"。假定待排序數(shù)字序列均為整數(shù),且共有NUM個,大小隨機(jī)排列,存放在list[NUM]中。

? ? ? ?首先假定list[0]為序列中最小的數(shù)字,再依次拿它與list[1:NUM-1](該表達(dá)式意為list[1]至list[NUM-1]的序列)中的每一個數(shù)字做比較,如果發(fā)現(xiàn)有比list[0]還小的,那就調(diào)用swap函數(shù)交換二者的數(shù)值,這樣一輪比較下來list[0]里面存放的肯定是序列中最小的數(shù)字了。

? ? ? ?同理假設(shè)list[1]中為剩余序列l(wèi)ist[1:NUM-1]中最小的數(shù)字,再依次拿它與list[2:NUM-1]中的每一個數(shù)字做比較,如果發(fā)現(xiàn)有比list[1]還小的,那就調(diào)用swap函數(shù)交換二者的數(shù)值,這樣又一輪比較下來list[1]里面存放的肯定是序列中第二小的數(shù)字了。

? ? ? ?其余類推,直至選擇到list[NUM-2](倒數(shù)第二個數(shù)字),序列就排列完了。

? ? ? 廢話不多說,直接看圖。


codes of sort_selected


run with 5 numberes

下期將講解二分查找法排序,歡迎廣大吃瓜群眾圍觀。

************************************************

**獲取更多知識,請點(diǎn)擊關(guān)注:**

[嵌入式Linux&ARM](http://m.itdecent.cn/c/42d33cadb1c1)

[CSDN博客](https://blog.csdn.net/liangzc1124)

[簡書博客](http://m.itdecent.cn/u/d5f9a4725546)

************************************************

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

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,853評論 18 399
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,935評論 0 33
  • 總結(jié)一下常見的排序算法。 排序分內(nèi)排序和外排序。內(nèi)排序:指在排序期間數(shù)據(jù)對象全部存放在內(nèi)存的排序。外排序:指在排序...
    jiangliang閱讀 1,532評論 0 1
  • 概述排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的...
    Luc_閱讀 2,379評論 0 35
  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,308評論 0 52

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