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)