/** * * @param {unknown[]} arr * @return {unknown[]} */ function quickSort(arr) { if (arr.length < 2) { return arr; } const pivot = arr[0]; const left = []; const right = []; const listLength = arr.length; for (let i = 1; i < listLength; i++) { const value = arr[i]; if (value < pivot) { left.push(value); } else { right.push(value); } } return [...quickSort(left), pivot, ...quickSort(right)]; }; const list = [2, 5, 1, 3, 7, 2, 3, 8, 6, 3] console.log(quickSort(list)) // [ 1, 2, 2, 3, 3, 3, 5, 6, 7, 8 ]