快速排序
1.选择一个基准元素(pivot)
2.小于基准的元素移到左边,大于基准的元素移到右边
3.左右子集递归1、2两步,直到所有子集只剩下一个元素

完整代码实现
const quicksort = arr => {
if (arr.length <= 1) return arr
let pivot = arr[0]
let left = []
let right = []
for (let i = 1; i < arr.length; i++) {
arr[i] < pivot ? left.push(arr[i]) : right.push(arr[i])
}
return quicksort(left).concat(pivot, quicksort(right))
}
性能
时间复杂度:平均时间复杂度、最好情况
、最差情况
空间复杂度:
稳定性:不稳定