Quicksort Examples:

Java
Java
Python
Python
PHP
PHP
C#
C#
C++
C++
TypeScript
TypeScript
▸ Quicksort Quick Review

Quicksort in Java


public class Quicksort {

public static void sort(int[] arr) {
    quicksort(arr, 0, arr.length - 1);
}

private static void quicksort(int[] arr, int low, int high) {
    if(low < high) {
        int p = partition(arr, low, high);
        
        quicksort(arr, low, p - 1);
        quicksort(arr, p + 1, high);
    }
}

private static int partition(int[] arr, int low, int high) {
    int pivot = arr[high];
    int i = low;
    for(int j = low; j< high; j++) {
        if(arr[j] < pivot) {
            swap(arr, i, j);
            i++;
        }
    }
    swap(arr, i, high);
    return i;
}

private static void swap(int[] arr, int a, int b) {
    int tmp = arr[a];
    arr[a]  = arr[b];
    arr[b] = tmp;

}

public static void main(String[] args) {
    int[] arr = {5,2,3,7,4};
    Quicksort.sort(arr);
    for(int i: arr) {
        System.out.print(i + " ");
    }
    System.out.println();
}
}

Find any bugs in the code? let us know!