//冒泡排序: //思路: //先循环数组,拿数组第一个值和数组第二个值做比较,如果第一个大于第二个, //能进判断里说明数组当前值比数组当前的下一位值大,然后让小的值放于当前值的位置, //大的值放在当前值的下一位,以此类推 //然后数组里有多少数字循环多少次 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))