算法之排序

2018-06-24 00:22:40来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1.常用写法 :

let arr = data.sort( (a,b) => a-b );

2.冒泡排序

var data = [2,1,3,6,7,5];

function buboSort(arr){
  var len = arr.length;
  for(var i=0;i<len;i++){
    for(var j=0;j<len-i-1;j++){
      if(arr[j] > arr[j+1]){
        var temp = arr[j];
          arr[j] = arr[j+1];
            arr[j+1] = temp;
      }
    }
  }
  return arr;
}
console.log(buboSort(data));

3.快速排序

/**
* 原理
* 在数据集之中,选择一个元素作为基准(中间的元素)
* 所有小于基准的元素,都移到基准左边,所有大于基准的元素,都移到基准的右边
* 对基准左右两边的子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止
*/

var data = [2,1,3,6,7,5];
function quickSort(arr){
   if(arr.length <= 1) return arr;
   var pivot = arr.splice(Math.floor(arr.length/2),1)[0],
   left = [],right = [];
   for(var i=0,len=arr.length;i<len;i++){
      arr[i] < pivot ? left.push(arr[i]) : right.push(arr[i]);
   }
   return quickSort(left).concat([pivot]).concat(quickSort(right));
}
console.log(quickSort(data));
 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:前端基础之javaScript

下一篇:angular内置provider之$compileProvider