11. Sort
Sorting
Quicksort
private static int partition(int[] arr, int left, int right){
int pivot = arr[right];
int i = left; // index small or equal to left
for (int j = left; j < right; j++){
if (arr[j] <= pivot){
// swap
swap(arr, i ,j);
i++;
}
}
// swap pivot value and i index value;
swap(arr, i, right);
return i;
}
private static void quickSort(int[] arr, int left, int right){
if (left < right){
int pi = partition(arr, left, right);
quickSort(arr, left, pi - 1);
quickSort(arr, pi + 1, right);
}
}Last updated