1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
function quickSort(arr: number[]): number[] { let len = arr.length let jizhunNum: number | null = null const leftArr: number[] = [] const rightArr: number[] = []
if (len <= 1) return arr
jizhunNum = arr.splice(0, 1)[0] len -= 1
for (let i = 0; i < len; i++) { const num = arr[i] if (num > jizhunNum) { rightArr.push(num) } else { leftArr.push(num) } }
return [...quickSort(leftArr), jizhunNum, ...quickSort(rightArr)] }
|