0
点赞
收藏
分享

微信扫一扫

js 实现快排

爱喝酒的幸福人 2022-04-03 阅读 64
javascript

var quickSort = function(arr) {
    
      if (arr.length <= 1) { return arr; }
      let a=Math.floor(arr.length/2)
      let b=arr.splice(a,1)
      let l=[],r=[]
      for(let i=0;i<arr.length;i++){
          if(arr[i]<b){
              l.push(arr[i])
          }else{
              r.push(arr[i])
          }
      }
      return quickSort(l).concat(b,quickSort(r))
    
    };

center版本

var quickSort = function(arr) {
    
      if (arr.length <= 1) { return arr; }
      let a=Math.floor(arr.length/2)
      let b=arr.splice(a,1)
      let l=[],r=[],c=[]
      c.push(b)
      for(let i=0;i<arr.length;i++){
          if(arr[i]<b){
              l.push(arr[i])
          }else if(arr[i]>b){
              r.push(arr[i])
          }else{
              c.push(arr[i])
          }
      }
      return quickSort(l).concat(...c,quickSort(r))
    
    };

举报

相关推荐

链表快排

经典快排

快排+归并

关于快排算法的基本实现

C++快排

归并和快排

java递归快排

0 条评论