iterative quicksort algorithm javascript
let swap = (arr, i, j) => {
let tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
};
let partition = (arr, low, high) => {
let q = low, i;
for (i = low; i < high; i++) {
if (arr[i] < arr[high]) {
swap(arr, i, q);
q++;
}
}
swap(arr, i, q);
return q;
};
let quickSort = (arr, low, high) => {
if (low < high) {
let pivot = partition(arr, low, high);
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
return arr;
}
};
quickSort([9, 8, 7, 6, 5, 4, 3, 2, 1], 0, 9)