传智黑马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)    收藏  举报

导航