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 ; }
|