美文网首页让前端飞
【算法】快速排序(JavaScript实现)

【算法】快速排序(JavaScript实现)

作者: 陈小俊先生 | 来源:发表于2017-07-23 20:04 被阅读0次

    复习一下快速排序

    快速排序的思想很简单,三步完成:

    1. 在数组,挑出来一个元素,作为 pivot(基准)

    2. 所有小于等于pivot的元素,都放到left数组,所有大于right的元素,都放到right数组。

    3. left、right数组,不断重复第一步和第二步,直到数组中只剩下一个元素为止。


    javascript代码如下:

    const quickSort = arr => {
      if(arr.length <= 1 ) return arr
      let pivot = arr.splice(Math.ceil(arr.length / 2), 1)[0],
        left = [],
        right = []
      arr.forEach(o => o <= pivot ? left.push(o) : right.push(o))
      return [...quickSort(left), pivot, ...quickSort(right)]
    }
    

    相关文章

      网友评论

        本文标题:【算法】快速排序(JavaScript实现)

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