<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>冒泡排序</title>
<script>
//冒泡排序实现从大到小排序
var arr=[6,8,3,9,2,4,5];
//弹出当前数组
alert(arr);
//for外层循环(倒数第二个和倒数第一个进行比较 ,最后一个不用比较了)所以减1
for(var j=0;j<arr.length-1;j++){
//设置一个变量boo为真
var boo=true;
//1 n个数只需要冒泡n-1次即可,(如5个数只需要比较四次就可排出最小值)所以减1
//2 每次比较一轮以后,下一次都要少比较一次(后面已经冒出最小已经排好顺序了 )所以减j
for(var i=0;i<arr.length-1-j;i++){
//如果前面比后面的小 变量交换
if(arr[i]<arr[i+1]){
//如果出现前面比后面的小→令boo为假
boo=false;
var temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
//如果boo为真 说明原来数组已经排好顺序了 跳出循环
if(boo){
break;
}
}
//弹出排序后的数组
alert(arr);
</script>
</head>
<body>
</body>
</html>