冒泡排序:
思想:一次比较数组中相邻的两项,如果前面比后面大,就交换位置,第一轮比较的结果的最后一个是最大的,以此类推,每一轮确定本轮中最大的值,一共需要比较数组的长度-1次
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);
选择排序:
思想:每一轮依次取数组的一项与之后的每一项进行比较,如果后面小,交换位置,每一轮的结果确定一个最小值
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);