sortNum是方法嗎
根據之前所學,我們在這段代碼中定義了sortNum()這個方法,這個方法需要輸入a,b兩個值,為什么在排序中沒有輸入這兩個值。 有人說這是排序法則,不需要輸入,那么原理是什么,是第一個元素分別與后面的元素對比,進行排序,還是元素直接兩兩對比。 請問有大神可以解釋一下嗎?
根據之前所學,我們在這段代碼中定義了sortNum()這個方法,這個方法需要輸入a,b兩個值,為什么在排序中沒有輸入這兩個值。 有人說這是排序法則,不需要輸入,那么原理是什么,是第一個元素分別與后面的元素對比,進行排序,還是元素直接兩兩對比。 請問有大神可以解釋一下嗎?
2017-07-14
舉報
2017-07-14
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;} 這個函數就是一個降序過程,每次比較時把后面的數減去前面的數,然后把結果與上面三種情況比較,排除正確序列。
2017-11-28
這是sort的函數規則,sortnum這里只提供了順序和返回值;
2017-08-30
sortNum是一個指針,指向了這個函數,然后調用,有點復雜,記住就行
2017-07-21
(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
2017-07-14
不是方法,就是隨便取得名字,意思是較小的數,如果是正序排序就取較小的數,是兩數相減,如果是整數,則后面的數小,如果是負數,則前面的小。