JSFiddle - React, Tailwind, and code Playground

by sumit_skr

JavaScript

var arr = [1,5,3,2,1,5,4,3,2];

function swap(arr, i, j){
   var temp = arr[i];
   arr[i] = arr[j];
   arr[j] = temp;
}

function partition(arr, pivot, left, right){
   var pivotValue = arr[pivot],
       partitionIndex = left;
   for(var i = left; i < right; i++){
    if(arr[i] < pivotValue){
      swap(arr, i, partitionIndex);
      partitionIndex++;
    }
  }
  swap(arr, right, partitionIndex);
  return partitionIndex;
}

function quickSort(arr, left, right){
   var len = arr.length, 
   pivot,
   partitionIndex;
  if(left < right){
    pivot = right;
    partitionIndex = partition(arr, pivot, left, right);
   //sort left and right
   quickSort(arr, left, partitionIndex - 1);
   quickSort(arr, partitionIndex + 1, right);
  }
  return arr;
}
// first call
var result = quickSort(arr, 0 ,9);

document.write(result);