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)