冒泡排序:數組
思想:一次比較數組中相鄰的兩項,若是前面比後面大,就交換位置,第一輪比較的結果的最後一個是最大的,以此類推,每一輪肯定本輪中最大的值,一共須要比較數組的長度-1次spa
var ary = [2,5,9,4,6]; for(var i = 0; i < ary.length-1;i++){ for(var j = 0; j < ary.length-i-1; j++){ if(ary[j]>ary[j+1]){ //交換變量 var temp = ary[j]; ary[j] = ary[j+1]; ary[j+1] = temp; } } } console.log(ary);
選擇排序:code
思想:每一輪依次取數組的一項與以後的每一項進行比較,若是後面小,交換位置,每一輪的結果肯定一個最小值blog
var ary = [2,5,9,4,6]; for(var i = 0; i < ary.length-1; i++){ for(var j = i+1; j < ary.length; j++){ if(ary[i]>ary[j]){ var temp = ary[i]; ary[i] = ary[j]; ary[j] = temp; } } } console.log(ary);