return a-b为什么是升序啊,有什么依据
function sortNum(a,b) {
return a - b;
//升序,如降序,把“a - b”该成“b - a”
function sortNum(a,b) {
return a - b;
//升序,如降序,把“a - b”该成“b - a”
2015-02-23
function bubbleSort(arr) {
var i = arr.length, j;
var tempExchangVal;
while (i > 0) {
for (j = 0; j < i - 1; j++) {
if (arr[j] > arr[j + 1]) {
tempExchangVal = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tempExchangVal;
}
}
i--;
}
return arr;
}
var arr = [3, 2, 4, 9, 1, 5, 7, 6, 8];
var arrSorted = bubbleSort(arr);
console.log(arrSorted);
alert(arrSorted);
这是什么鬼?
不用理解太深,知道就好。不过这里解释一下,冒泡排序算法其实是一个比较有意思的东西。
看这个:
function bubbleSort(arr) {
var i = arr.length, j;
var tempExchangVal;
while (i > 0) {
for (j = 0; j < i - 1; j++) {
if (arr[j] > arr[j + 1]) {
tempExchangVal = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tempExchangVal;
}
}
i--;
}
return arr;
}
var arr = [3, 2, 4, 9, 1, 5, 7, 6, 8];
var arrSorted = bubbleSort(arr);
console.log(arrSorted);
alert(arrSorted);
这里就解释了如果不断对元素进行重复替换的话,最后
return b-a就会形成升序,背后的原理算法导论有讲过,推倒过程实际上和数学上的各种公式怎么来性质是一样的。
举报