js简单的冒泡排序实例

来源:07素材网 04月19日 21:00
冒泡排序原理:

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);

原文出处:http://www.asheep.cn/skill/maopao.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。

头条

在使用SQLite3时遇到的几个坑

在使用SQLite3时遇到的几个坑

《本打算在SQLite3数据库里执行一个查询语句,使用的是php语言,起初遇到的是权限问题: permission denied,因为SQLite3数据库文件和PHP执行者属于两个不同的用户,首先需要对这个文件执行mode 777的权限开放,然后,又遇到了下面这样的PHP错误