js排序

作者: Victor_818 | 来源:发表于2019-06-16 23:17 被阅读0次
    1. sort排序
    function sort(arr){
      return arr.sort(function(a, b){
        return a - b;
      })
    }
    
    1. 冒泡排序
    function sort(arr){
      for(var i=0;i<arr.length;i++){
        for(var j=0;j<arr.length-i-1;j++){
          if(arr[j]>arr[j+1]){
            let temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
          }
        }
      }
      return arr;
    }
    
    1. 快速排序
    function sort(arr){
      if(arr.length<=1){
        return arr;
      }
      let middleIndex = Math.floor(arr.length/2);
      let middle = arr.splice(middleIndex, 1)[0];
      let left = [];
      let right = [];
      for(var i=0;i<arr.length;i++){
        if(arr[i]<middle){
          left.push(arr[i]);
        }else{
          right.push(arr[i])
        }
      }
      return sort(left).concat([middle], sort(right));
    }
    
    1. 选择排序
    function sort(arr){
      let minIndex = null;
      for(var i=0;i<arr.length;i++){
        minIndex = i;
        for(var j=i+1;j<arr.length;j++){
          if(arr[minIndex]>arr[j]){
            minIndex=j;
          }
        }
        let temp=arr[i];
        arr[i]=arr[minIndex];
        arr[minIndex]=temp
      }
      return arr;
    }
    
    1. 插入排序
    function sort(arr) {
      let len = arr.length;
      let preIndex, current;
      for (var i = 1; i < len; i++) {
          preIndex = i - 1;
          current = arr[i];
          while(preIndex >= 0 && arr[preIndex] > current) {
              arr[preIndex+1] = arr[preIndex];
              preIndex--;
          }
          arr[preIndex+1] = current;
      }
      return arr;
    }
    

    相关文章

      网友评论

          本文标题:js排序

          本文链接:https://www.haomeiwen.com/subject/dminfctx.html