iterative quicksort algorithm javascript
const swap = (arr: number[], i: number, j: number) => {
const tmp = arr[i]
const retArr = arr
retArr[i] = arr[j]
retArr[j] = tmp
return retArr
};
const partition = (arr: number[], low: number, high: number) => {
let q = low; let i;
for (i = low; i < high; i++) {
if (arr[i] < arr[high]) {
swap(arr, i, q)
q += 1
}
}
swap(arr, i, q)
return q
};
const quickSort = (arr: number[], low: number, high: number) => {
if (low < high) {
const pivot = partition(arr, low, high)
quickSort(arr, low, pivot - 1)
quickSort(arr, pivot + 1, high)
return arr
}
return []
}
quickSort([9, 8, 7, 6, 5, 4, 3, 2, 1], 4, 9) // [9, 8, 7, 6, undefined, 1, 2, 3, 4, 5]
Are there any code examples left?
New code examples in category Javascript
-
Javascript 2023-04-21 22:52:36
-
Javascript 2022-03-27 22:25:20 javascript download string as file
-
Javascript 2022-03-27 21:40:22 sort numbers in array javascript
-
Javascript 2022-03-27 21:20:04 compare two arrays and return the difference javascript
-
Javascript 2022-03-27 21:15:02 javascript regex french phone number
-
Javascript 2022-03-27 21:05:03 cypress custom error message
-
Javascript 2022-03-27 21:00:05 create element javascript with id
-
Javascript 2022-03-27 20:40:57 feather icons react
-
Javascript 2022-03-27 20:20:01 how to make graphql request in axios
-
Javascript 2022-03-27 20:15:07 bootstrap validator password and confirm password