import java.io.*;
import java.util.*;
public class QuickSort {
public static void swap (int A[], int x, int y) {
int temp = A[x];
A[x] = A[y];
A[y] = temp;
}
public static int partition(int A[], int f, int l) {
int pivot = A[f];
while (f < l) {
while (A[f] < pivot) f++;
while (A[l] > pivot) l--;
swap (A, f, l);
}
return f;
}
public static void Quicksort(int A[], int f, int l) {
if (f >= l) return;
int pivot_index = partition(A, f, l);
Quicksort(A, f, pivot_index);
Quicksort(A, pivot_index+1, l);
}
public static void main(String argv[]) {
int []numbers={55,2,93,1,23,10,66,12,7,54,3};
System.out.println(Arrays.toString(numbers));
Quicksort(numbers, 0, numbers.length-1);
System.out.println(Arrays.toString(numbers));
}
}
Output:
$ java QuickSort [55, 2, 93, 1, 23, 10, 66, 12, 7, 54, 3] [1, 2, 3, 7, 10, 12, 23, 54, 55, 66, 93]