QuickSort Example

Quicksort algorithm is divide and conquer

by DineshAngappa

JavaScript

function partition(arr,low,high){
	let pivot = arr[high];
  let i = (low-1);
  
  for(let j = low; j<= high-1; j++){
  	if(arr[j]<=pivot){
    	i++;
      swap(arr,i,j);
    }
  }
  swap(arr,i+1,high);
  return (i+1);
}

function swap(arr,a,b){
	let temp = arr[a];
  arr[a] = arr[b];
  arr[b] = temp;
}

function quickSort(arr,low,high){
	if(low<high){
  	let pi =partition(arr, low, high);
    
    quickSort(arr, low,pi-1);
    quickSort(arr,pi+1,high);
    return arr;
    
  }else{
  	return false;
  }

}

let arr = [10,50,80,90,20,30,70,60];
console.log(quickSort(arr,0,arr.length-1));