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