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

复习一下快速排序

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

  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)]
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容