小白關(guān)于數(shù)組排序的疑問
這里紅線部分,我不明白在調(diào)用sort 進行排序時,具體是怎么工作的呢?本來sortNum()就是一個函數(shù),現(xiàn)在指定sort 排序采用sortNum()進行。sortNum為兩個參數(shù),而數(shù)組中有六個元素啊??然后怎么弄?希望知道的大神能指點迷津,感激不盡
這里紅線部分,我不明白在調(diào)用sort 進行排序時,具體是怎么工作的呢?本來sortNum()就是一個函數(shù),現(xiàn)在指定sort 排序采用sortNum()進行。sortNum為兩個參數(shù),而數(shù)組中有六個元素啊??然后怎么弄?希望知道的大神能指點迷津,感激不盡
2017-07-03
舉報
2017-07-13
function sortNum1(t,d) {
? ? return d-t
? ?}
僅僅只是根據(jù)函數(shù)兩個參數(shù)優(yōu)先出現(xiàn)的順序進行判斷,括號里面先出現(xiàn)t,再出現(xiàn)d,如果你想按升序排就return t-d;
如果你想降序排那就return d-t;而且還只能對數(shù)字排序,對字符串還不能用這樣的方法。
2017-07-21
在函數(shù)里面加了一段 ? document.write("(a-b)="+(a-b)+"</br>");終于看明白了
(a-b)=64----第一次調(diào)用函數(shù):a是80,b是16,結(jié)果為64>0,因此交換位置:16,80,50,6,100,1
(a-b)=30----第二次調(diào)用函數(shù):a是80,b是50,結(jié)果為30>0,因此交換位置:16,50,80,6,100,1
(a-b)=-34----第三次調(diào)用函數(shù):a是16,b是50,結(jié)果為-34<0,因此不交換位置:16,50,80,6,100,1
(a-b)=74----第四次調(diào)用函數(shù):a是80,b是6,結(jié)果為74>0,因此交換位置:16,50,6,80,100,1
(a-b)=44----第五次調(diào)用函數(shù):a是50,b是6,結(jié)果為44>0,因此交換位置:16,6,50,80,100,1
(a-b)=10----第六次調(diào)用函數(shù):a是16,b是6,結(jié)果為10>0,因此交換位置:6,16,50,80,100,1
(a-b)=-20----第七次調(diào)用函數(shù):a是80,b是100,結(jié)果為-20<0,因此不交換位置:6,16,50,80,100,1
(a-b)=99----第八次調(diào)用函數(shù):a是100,b是1,結(jié)果為99>0,因此交換位置:6,16,50,80,1,100
(a-b)=79----第九次調(diào)用函數(shù):a是80,b是1,結(jié)果為79>0,因此交換位置:6,16,50,1,80,100
(a-b)=49----第十次調(diào)用函數(shù):a是50,b是1,結(jié)果為49>0,因此交換位置:6,16,1,50,80,100
(a-b)=15----第十一次調(diào)用函數(shù):a是16,b是1,結(jié)果為15>0,因此交換位置:6,1,16,50,80,100
(a-b)=5----第十二次調(diào)用函數(shù):a是6,b是1,結(jié)果為5>0,因此交換位置:1,6,16,50,80,100
1,6,16,50,80,100
應(yīng)該是一種優(yōu)化版的冒泡排序法
2017-07-03
利用sortNum()函數(shù)依次對數(shù)組中的兩元素比較來判斷是否交換位置。