js 实现快排

阅读 68

2022-04-03

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))
    
    };

精彩评论(0)

0 0 举报