? ? ? ? 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ù)字),序列就排列完了。
? ? ? 廢話不多說,直接看圖。


下期將講解二分查找法排序,歡迎廣大吃瓜群眾圍觀。
************************************************
**獲取更多知識,請點(diǎn)擊關(guān)注:**
[嵌入式Linux&ARM](http://m.itdecent.cn/c/42d33cadb1c1)
[CSDN博客](https://blog.csdn.net/liangzc1124)
[簡書博客](http://m.itdecent.cn/u/d5f9a4725546)
************************************************