var arr = [3,2,1,4,5,6,7,8,9];
console.log('原数组:'+ arr);// 标记原数组
function bubbleSortBetter(arr){
//外层循环,控制趟数,每一次找到一个最大值
for (var i = 0; i < arr.length - 1; i++) {
// 内层循环,控制比较的次数,并且判断两个数的大小
var num = 1;
var flag = true;
for (var j = 0; j < arr.length - 1 - i; j++) {
// 如果前面的数大,放到后面(当然是从小到大的冒泡排序)
if (arr[j] > arr[j+1]) {
var temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
flag = false;
console.log('第' + (i+1) + '趟排序的第'+(num++)+'次交换:' + arr); // 标记交换
}
}
if(flag){
break;
}
console.log('第' + (i+1) + '趟排序:' + arr);// 标记趟数
}
return arr;
}
bubbleSortBetter(arr);
标签:arr,console,log,冒泡排序,flag,var
From: https://www.cnblogs.com/hxy--Tina/p/17310441.html