js简单的冒泡排序实例

前端开发 337 Views 1 Comments

冒泡排序原理:

1. 前一个和后一个比较,将最大值放到后面的位置

2. 当一轮比较完成之后,最大值肯定在最后一个位置

var arr = [9,3,6,1,5,8];
   var temp;  //用于交换数据
   var flag;
  // var count = 0;  //用于判断小循环循环的次数
   for(var i = 0; i < arr.length-1; i++){
     //小循环每次循环次数递减,因为最大值已经放到后面了
     flag=false;  //每次大循环,初始化一次值
     for(var j = 0; j < arr.length-1-i; j++){
       if(arr[j]>arr[j+1]){  //如果前一个大于后一个则交换位置
         temp=arr[j];
         arr[j]=arr[j+1];
         arr[j+1]=temp;
         flag=true;  //如果执行的此处,证明一定发生了交换
       }
      // count++;
     }
     if(!flag){   //若在小循环中,没有发生交换,则flag为false,即!flag为true,执行break.
       break;
     }
   }
   console.log(arr);
  // console.log(count);

转载请注明:一只羊博客 » js简单的冒泡排序实例

分享到:
(0)

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 我不信。

    我是星星2017-08-25 22:32 回复