冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!--目标数组-->
var array = [1,3,4,7,8,5,22,11,15,35,9] ;

<!--方法一-->
function bubbleSort1(array){
var temp ;
for (var i = 0; i < array.length; i++){
for (var j = 0; j < array.length - 1; j++){
if (array[j] > array[j + 1]){
<!--先把j+1位置的值(小的)赋给中间值保存-->
temp = array[j + 1];
<!--然后把j位置的值(大的)赋给j+1,位置不变,但是要重新赋值-->
array[j + 1] = array[j];
<!--然后把临时保存的小值赋给前面位置的j-->
array[j] = temp;
}
}
}
return array ;
}


<!--方法二-->
function bubbleSort2(array){
var temp ;
var i = array.length - 1 ;
var j ;
while (i > 0) {
for(j = 0 ; j <= i ; j ++) {
if(array[j] - array[j + 1] > 0){
temp = array [j] ;
array[j] = array [j + 1];
array[j + 1] = temp ;
}
}
i-- ;
}
return array ;
}