Quick sort in JavaScript
by shraddhapaghdar
JavaScript
const swapFunction = (arratItems, leftIndex, rightIndex) => {
var temp = arratItems[leftIndex];
arratItems[leftIndex] = arratItems[rightIndex];
arratItems[rightIndex] = temp;
}
const partitionFunction = (arratItems, left, right) => {
let pivotElement = arratItems[Math.floor((right + left) / 2)];
let leftElement = left;
let rightElement = right;
while (leftElement <= rightElement) {
while (arratItems[leftElement] < pivotElement) {
leftElement++;
}
while (arratItems[rightElement] > pivotElement) {
rightElement--;
}
if (leftElement <= rightElement) {
swapFunction(arratItems, leftElement, rightElement);
leftElement++;
rightElement--;
}
}
return leftElement;
}
const arratItems = [9, 1, 4, 7, 0, 2, 5, 8]
const quickSortFunction = (arratItems, left, right) => {
let index;
if (arratItems.length > 1) {
index = partitionFunction(arratItems, left, right);
if (left < index - 1) {
quickSortFunction(arratItems, left, index - 1);
}
if (index < right) {
quickSortFunction(arratItems, index, right);
}
}
return arratItems;
}
// Initial call to quick sort function
const result = quickSortFunction(arratItems, 0, arratItems.length - 1);
console.log(result)