sort cmp函數的寫法 (特判排序 二級排序)


特判排序:

看看以下cmp寫法,猜想作用:

該函數作用就是“將正數升序排列, 負數排到最后”

我認為cmp函數的一個特性就是, 如果return false, 那么函數就會將他們互換位置, return true就會保持原來位置不變。

所以這函數可以解讀為:

x是前面的元素, y是后面的元素。

①如果x<0的話,就是p1是負數,return false,直接交換

②x>0 y <0 那么正數已經在負數后面了,return true,不需要動。

③x>0 && y > 0 那么就按升序排列, return x.a < y.a

假設有10個數:0 8 9 4 -4 4 -2 2 -7 -4。

運行以上代碼:

如果需要對負數部分也進行排列,可以加上這一行。

 

 

 

二級排序:

然后再給出一個cmp二級排序的寫法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM