JavaScript冒泡排序(冒泡排序最优版)包括如果原数组已经排好顺序,不需要在比较,直接终止循环!

<!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>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值