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));