详解冒泡排序

206 阅读1分钟

冒泡排序:

  • 1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。
  • 2、比较完第一轮的时候,最后一个元素是最大的元素。
  • 3、这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。

图解:

conv_ops

var bSort  = function(arr){
   //获取数组的长度
     var len = arr.length 
   //第一层循环控制循环的次数
     for(var i=0 ;i<len -1 ;i++){
        //第二层循环控制本轮的交换
        for(var j = 0 ; j<len-1-i; j++){
           if( arr[j] > arr[j+1]){
               var tem  = arr[j];
               arr[j] = arr[j+1] ;
               arr[j+1] = tem ;
           }
        }  
     }
     return arr
}

var  myarr = [4 , 1 , 7 ,6 , 5]

console.log(bSort(myarr))


打印结果 :[ 1, 4, 5, 6, 7 ]