import java.util.Arrays;
public class Quicksort{
public static void main(String[] args)
{
int [] arr = new int [args.length];
for(int i = 0 ; i < args.length ; i ++)
{
arr[i] = Integer.valueOf(args[i]);
}
quickSort(arr,0,args.length-1);
System.out.println(Arrays.toString(arr));
}
public static void quickSort(int[] A , int p , int r){
if(p<r){
int q=partition(A,p,r);
quickSort(A,p,q-1);
quickSort(A,q+1,r);
}
}
public static int partition(int[] A, int p ,int r){
int x = A[r];
int i = p-1;
for( int j = p ; j < r ; j ++)
{
if(A[j] <= x){
i++;
swap(A,i,j);
}
}
swap(A,i+1,r);
return i+1;
}
public static void swap(int[] A , int i , int j)
{
int dummy = A[i];
A[i] = A[j];
A[j] = dummy;
}
}