korayucar
6/5/2016 - 5:29 PM

Quicksort.java


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;
}


}