利用sort()方法給數組排序


首先,我們先認識下sort()方法

我們在VS中敲出如下代碼

我們會得到如下運行

如果我們修改一下呢

會得到

可以看到,sort()方法,是按照字符(數字0-9或者字母a-z)來排序的,先按照第一個字符排序

如果第一個字符相同,再比較第二個字符,以此類推。

所以,如果是純數字的數組,則會比較數字

如果我們需要按照每個數字的大小來實現升序或者降序排列呢?我們需要用到函數~

那么里面return a-b;該怎么理解呢?

W3SCHOOL這樣給我們解釋

 

首先,我們需要知道,sort的比較方法,類似於我們用for循環的“選擇排序

比如我給的例子:會將1取出來,依次和5、14、23、25、85進行比較

然后將5取出來,依次和14、23、25、85進行比較

............以此類推

所以我們可以這樣理解return a-b;

當第一個數比第二個數大的時候,我們交換位置~~       //我們會得到一個升序的結果

如果是return b-a呢?

當第二個數比第一個數大的時候,我們交換位置~~   //我們會得到一個降序的結果

這里的a,b僅僅是一個形參的命名,同樣你可以取x,y

但是,a,b的位置不能寫反,如果你寫(a,b),  a-b 中a就是第一個數,b就是第二個數,反之~~~

 


免責聲明!

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



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