js 冒泡排序

    //冒泡排序:
    //思路:
    //先循环数组,拿数组第一个值和数组第二个值做比较,如果第一个大于第二个,
    //能进判断里说明数组当前值比数组当前的下一位值大,然后让小的值放于当前值的位置,
    //大的值放在当前值的下一位,以此类推
    //然后数组里有多少数字循环多少次
    function arrSort(arr) {
        for(var i = 0; i < arr.length - 1; i++) {
          var isComplete = true;
           //每次循环减少循环次数
            for(var j = 0; j < arr.length - 1-i; j++) {
                var a = arr[j];
                var b = arr[j + 1];
                if(a > b) {
                    arr[j] = b;
                    arr[j + 1] = a;
                    isComplete = false;
                    console.log(isComplete,1)
                }
            }
            //判断排序是否完成,完成终止循环
            if(isComplete){
                break;
            }
        }
        return arr;
    }
    var arr = [1, 3, 2, 5, 4, 6, 9, 10, 7, 8];
    console.log(arrSort(arr))

 

posted @ 2019-04-12 19:41  小慕白  阅读(94)  评论(0编辑  收藏  举报