冒泡排序
var arr=[11,3,51,5,6]
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { //相邻元素两两对比
var temp = arr[j+1]; //元素交换
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
结果[2,5,6,11,51]
i是整个arr的长度,每次i取值后都会用j进行一次循环,但由于i是从0开始取数的,所以如果不想让j循环次数错误,必须让j循环为5-1,而冒泡排序的结果是会在每次循环后将把最大值滞后,所以每次循环后让j<5-1-j,以保证下一次循环不再去对比已滞后的值