亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

sortNum是方法嗎

根據之前所學,我們在這段代碼中定義了sortNum()這個方法,這個方法需要輸入a,b兩個值,為什么在排序中沒有輸入這兩個值。 有人說這是排序法則,不需要輸入,那么原理是什么,是第一個元素分別與后面的元素對比,進行排序,還是元素直接兩兩對比。 請問有大神可以解釋一下嗎?

正在回答

5 回答

sortNum()是一個函數,是自己定義的一個排序規則,這個函數名隨便自己定義。然后這個函數的作用,比如,你要給一組數排序,可以是升序,也可以是降序,你需要給出說明:例如下面這個函數

function sumSort(a,b){ return a-b;}(a代表數組中前面的數,b代表數組后面的數)

如果(a-b)>=1,則a應該排到后面,

如果(a-b)<-1,則a應該放在前面,

如果(a-b)在-1~1之間,兩個同序(這里的意思應該是只對整數排序)。

這其實就是一個冒泡排序的過程,每次比較時把前一位數與后一位數相比較,根據上面三種結果來確定兩個數的正確位置。(可以自己完整的走一遍這個流程)這是一個升序排序。

function sumSort(a,b){ return b-a;} 這個函數就是一個降序過程,每次比較時把后面的數減去前面的數,然后把結果與上面三種情況比較,排除正確序列。

1 回復 有任何疑惑可以回復我~
#1

張珂 提問者

非常感謝!
2017-07-18 回復 有任何疑惑可以回復我~

這是sort的函數規則,sortnum這里只提供了順序和返回值;

0 回復 有任何疑惑可以回復我~

sortNum是一個指針,指向了這個函數,然后調用,有點復雜,記住就行

0 回復 有任何疑惑可以回復我~

(a-b)=64----第一次調用函數:a是80,b是16,結果為64>0,因此交換位置:16,80,50,6,100,1

(a-b)=30----第二次調用函數:a是80,b是50,結果為30>0,因此交換位置:16,50,80,6,100,1


0 回復 有任何疑惑可以回復我~

不是方法,就是隨便取得名字,意思是較小的數,如果是正序排序就取較小的數,是兩數相減,如果是整數,則后面的數小,如果是負數,則前面的小。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

sortNum是方法嗎

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號