課程
/前端開發(fā)
/JavaScript
/JavaScript進階篇
根據(jù)之前所學,我們在這段代碼中定義了sortNum()這個方法,這個方法需要輸入a,b兩個值,為什么在排序中沒有輸入這兩個值。 有人說這是排序法則,不需要輸入,那么原理是什么,是第一個元素分別與后面的元素對比,進行排序,還是元素直接兩兩對比。 請問有大神可以解釋一下嗎?
2017-07-14
源自:JavaScript進階篇 7-22
正在回答
在函數(shù)里面加了一段 ? document.write("(a-b)="+(a-b)+"</br>");終于看明白了(a-b)=64----第一次調(diào)用函數(shù):a是80,b是16,結果為64>0,因此交換位置:16,80,50,6,100,1(a-b)=30----第二次調(diào)用函數(shù):a是80,b是50,結果為30>0,因此交換位置:16,50,80,6,100,1(a-b)=-34----第三次調(diào)用函數(shù):a是16,b是50,結果為-34<0,因此不交換位置:16,50,80,6,100,1(a-b)=74----第四次調(diào)用函數(shù):a是80,b是6,結果為74>0,因此交換位置:16,50,6,80,100,1(a-b)=44----第五次調(diào)用函數(shù):a是50,b是6,結果為44>0,因此交換位置:16,6,50,80,100,1(a-b)=10----第六次調(diào)用函數(shù):a是16,b是6,結果為10>0,因此交換位置:6,16,50,80,100,1(a-b)=-20----第七次調(diào)用函數(shù):a是80,b是100,結果為-20<0,因此不交換位置:6,16,50,80,100,1(a-b)=99----第八次調(diào)用函數(shù):a是100,b是1,結果為99>0,因此交換位置:6,16,50,80,1,100(a-b)=79----第九次調(diào)用函數(shù):a是80,b是1,結果為79>0,因此交換位置:6,16,50,1,80,100(a-b)=49----第十次調(diào)用函數(shù):a是50,b是1,結果為49>0,因此交換位置:6,16,1,50,80,100(a-b)=15----第十一次調(diào)用函數(shù):a是16,b是1,結果為15>0,因此交換位置:6,1,16,50,80,100(a-b)=5----第十二次調(diào)用函數(shù):a是6,b是1,結果為5>0,因此交換位置:1,6,16,50,80,1001,6,16,50,80,100應該是一種優(yōu)化版的冒泡排序法
張珂 提問者
imooc翎靈霸
?? 每一次a和b比較時a b的位置 ??? 有規(guī)律又沒有具體的順序 ??? 看看吧 ? ???? 1 2? 第一個和第二個數(shù)比2 3? 第二個和第三個數(shù)比
1 2 ?3 42 31 24 5 ?5 64 53 42 31 2
a b
大神,這個排序比較有順序嗎,誰和誰相減
應該是這樣的,你在sortNum中有兩個參數(shù)a和b,但你return a - b的時候就是從小到大,return b - a的時候就是從大到小
舉報
本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界
5 回答sortNum是方法嗎
2 回答調(diào)用sortNum不應該是sortNum()嗎?
3 回答sortNum()方法到底什么意思
3 回答JS里面sort(sortNum)方法中的sortNum為毛"return a - b"就是升序?
2 回答document.write(myarr.sort(sortNum));
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2017-07-21
在函數(shù)里面加了一段 ? document.write("(a-b)="+(a-b)+"</br>");終于看明白了
(a-b)=64----第一次調(diào)用函數(shù):a是80,b是16,結果為64>0,因此交換位置:16,80,50,6,100,1
(a-b)=30----第二次調(diào)用函數(shù):a是80,b是50,結果為30>0,因此交換位置:16,50,80,6,100,1
(a-b)=-34----第三次調(diào)用函數(shù):a是16,b是50,結果為-34<0,因此不交換位置:16,50,80,6,100,1
(a-b)=74----第四次調(diào)用函數(shù):a是80,b是6,結果為74>0,因此交換位置:16,50,6,80,100,1
(a-b)=44----第五次調(diào)用函數(shù):a是50,b是6,結果為44>0,因此交換位置:16,6,50,80,100,1
(a-b)=10----第六次調(diào)用函數(shù):a是16,b是6,結果為10>0,因此交換位置:6,16,50,80,100,1
(a-b)=-20----第七次調(diào)用函數(shù):a是80,b是100,結果為-20<0,因此不交換位置:6,16,50,80,100,1
(a-b)=99----第八次調(diào)用函數(shù):a是100,b是1,結果為99>0,因此交換位置:6,16,50,80,1,100
(a-b)=79----第九次調(diào)用函數(shù):a是80,b是1,結果為79>0,因此交換位置:6,16,50,1,80,100
(a-b)=49----第十次調(diào)用函數(shù):a是50,b是1,結果為49>0,因此交換位置:6,16,1,50,80,100
(a-b)=15----第十一次調(diào)用函數(shù):a是16,b是1,結果為15>0,因此交換位置:6,1,16,50,80,100
(a-b)=5----第十二次調(diào)用函數(shù):a是6,b是1,結果為5>0,因此交換位置:1,6,16,50,80,100
1,6,16,50,80,100
應該是一種優(yōu)化版的冒泡排序法
2017-08-14
?? 每一次a和b比較時a b的位置 ??? 有規(guī)律又沒有具體的順序 ??? 看看吧 ? ????
1 2? 第一個和第二個數(shù)比
2 3? 第二個和第三個數(shù)比
1 2 ?
3 4
2 3
1 2
4 5 ?
5 6
4 5
3 4
2 3
1 2
a b
2017-08-08
大神,這個排序比較有順序嗎,誰和誰相減
2017-07-14
應該是這樣的,你在sortNum中有兩個參數(shù)a和b,但你return a - b的時候就是從小到大,return b - a的時候就是從大到小