js基本语法--排序,冒泡排序法

本文详细介绍了冒泡排序的基本原理及其优化方法。通过示例和代码实现展示了如何使用JavaScript来实现冒泡排序,并通过设置标志位来减少不必要的比较,从而提高排序效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡排序法:

                                    

 第一趟示意图:

代码如下:


进行优化,加一个flag标记

  var arr=[5,0,-56,900,100,20];
  var flag=false;
  //大的排序次数(arr.length-1),数组arr下标最大是length-1
  for (var i=0;i<arr.length-1 ;i++ ){
	  for (var j=0;j<arr.length-1-i ;j++ ){
		  if (arr[j]>arr[j+1]){
			  //交换
			  var temp=arr[j];
			  arr[j]=arr[j+1];
			  arr[j+1]=temp;
			  flag=true;
		  }
	  }
	  if (flag){
		  flag=false;
	  }else{
	      break;
	  }
	  //如果没有排过序 flag还是flase 反之 flag=true.如果排过序 就给flag重新赋值flase,反之,则意味着已经排好序了直接跳出循环.

  }
  for (var i=0;i<arr.length ;i++ ){
	  document.writeln(arr[i]+'&nbsp ');
  }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值