JSFiddle - React, Tailwind, and code Playground
by xu xiaofei
JavaScript
console.clear()
const arr = [7,3,5,1,4,2,9,8,6,0,999]
function quickSort(l, r) {
const base = arr[l]
// console.log(l, r)
if(l>r) return arr;
let left = l
let right = r
while(left!=right) {
while(arr[right]>=base && left<right) {
right --
}
while(arr[left]<=base && left<right) {
left ++
}
if(left<right) {
const t = arr[right]
arr[right] = arr[left]
arr[left] = t
}
}
arr[l] = arr[left]
arr[left] = base
/* console.log(arr)
console.log(left, right)
console.log(arr[left])
console.log(arr[l]) */
quickSort(l, left-1)
quickSort(left+1, r)
}
quickSort(0, arr.length-1)
console.log(arr)