冒泡排序(四次优化)
-
内部循环length-1, 因为倒数第二个元素和倒数第一个元素可以比较但是倒数第一个 不能再和后面比较
-
外层循环length-1, 五个数 冒泡四次就完成排序
-
内层循环length-1再 减去外层循环变量
每轮比较完 都会冒出一个当前轮的最小值
下一轮比较就可以少比较一次 -
利用开闭原则 实现在不停的冒泡过程中
一旦顺序已经完成 立即停止排序
for(var j=0;j<arr.length-1 ;j++){
var boo=true; //在每一轮循环开始之前 假设布尔值而true(假设为开)
for(var i=0;i<arr.length-1-j;i++){
if(arr[i]<arr[i+1]){ //此句话表示 前边比后面小
//一旦执行了这里面的代码 表示还未排出顺序
var temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
boo=false; //表示假设不成立
}
}
if(boo){ //如果假设成立 那么可以停止循环了 表示已经排出顺序了
break;
}
}