快速排序

思路:取一个对比值,然后将他从原数组中取出,跟数组中剩下的值进行对比,需要创建两个数组,一个记录比值小的,一个记录比值大的

  function quickSort(arr) {
    if(arr.length < 2) return arr;
    const middleIndex = Math.floor(arr.length / 2);
    const middle = arr.splice(middleIndex, 1)[0];
    const left = [], right = [];
    for(let i of arr) {
      middle > i ? left.push(i) : right.push(i);
    }
    return quickSort(left).concat(middle, quickSort(right));
  }
posted @ 2022-12-27 12:55  卿六  阅读(14)  评论(0编辑  收藏  举报