传智黑马39期WEB前端教程-JavaScript基础语法-JavaScript数组及应用-冒泡排序-优化-剪裁
冒泡排序-优化-剪裁
//优化代码
var numbers = [97, 68, 72, 29, 51, 45]
var count = 0; //记录循环的次数
//外层循环,控制趟数,每一趟找到一个最大值
for (var i = 0; i < numbers.length - 1; i++) {
var isSort = true;
count++;
//内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移,小的数往前移动
for (var j = 0; j < numbers.length - 1 - i; j++) {
count++;
//两两比较,从小到大排序
if (numbers[j] > numbers[j+1]) {
//没有排好
isSort = false;
//交换位置
var tmp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = tmp;
}
}
//某一趟结束,判断一下排序是否结束
//如何判断排序是否排好,根据是否发生了数据交换,如果发生了数据交换说明没有排好
if (isSort) {
break;
}
}
console.log(numbers);
console.log(count);
posted on 2019-12-04 13:23 herisson_pan 阅读(6) 评论(0) 收藏 举报
浙公网安备 33010602011771号