冒泡排序
什么是冒泡排序?
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);