快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要O(nLogn)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见.
const arr = [1,23,15,12,7]
function quickSort(arr) {
if (arr.legnth <= 1) return arr
let left = [],
right = [],
pivotI = Math.floor(arr.length / 2),
pivot = arr.splice(pivotI, 1)[0]
for (let i =0; i < arr.length; i++) {
arr[i] > pivot ? right.push(arr[i])
: left.push(arr[i])
}
return quickSort(left).concat([pivot], quickSort(right))
}