Quick sort

by Saksham Malhotra

JavaScript

function partition(arr, start, end) {
    let pivot = arr[end], i = start;
    for(let j = start; j < end; j++) {
        if(arr[j] <= pivot) {
            [arr[j], arr[i]] = [arr[i], arr[j]];
            i++;
        }
    }
    [arr[end], arr[i]] = [arr[i], arr[end]];
    return i;
}

function quickSort(arr, start, end) {
    if(start < end) {
        const p = partition(arr, start, end);
        quickSort(arr, start, p - 1);
        quickSort(arr, p + 1, end);
    }
}

var arr = [7,2,1,6,8,5,3,4];
quickSort(arr, 0, 7);
console.log(arr);