冒泡排序

什么是冒泡排序?

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

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

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

 

posted @ 2017-08-24 13:53  Sweet's  阅读(142)  评论(0编辑  收藏  举报