冒泡、二分排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var a = [1,12,312,132,132,13,21,3]

1. 冒泡

function mp(arr){
for(var i = 0; i < arr.length - 1; i++){
for(var j = 0; j < arr.length -i; j++){
if(a[j] < a[j-1]){
var temp = a[j];
a[j] = a[j-1];
a[j-1] = temp
}
}
}
return arr
}

2. 二分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function ef(arr){
for(var i = 1;i < arr.length -1; i++){
var k = arr[i], low = 0, high = i - 1;
while(low <= high){
var m = parseInt((low + high) / 2);
if(arr[m] < k){
low = m + 1
}else{
high = m -1
}
}
for(var j = i-1; j >= low; j--){
arr[j+1] = arr[j]
}
arr[low] = k
}
return arr
}