public class QuickSort {
public void quickSort(int[] array,int low,int high){
if(low < high)
{
QuickSort qs = new QuickSort();
int mid = qs.partion(array,low,high);
qs.quickSort(array,low, mid-1);
qs.quickSort(array, mid+1, high);
}
}
public int partion(int[] array,int low,int high){
int pivotKey = array[low];
while(low<high){
while(array[high]>pivotKey){
high--;
}
array[low]=array[high];
array[high]=pivotKey;
while(array[low]<pivotKey){
low++;
}
array[high]=array[low];
array[low]=pivotKey;
new QuickSort().print(array);
}
return low;
}
public void print(int[] array){
for(int i=0;i<array.length;i++){
if(i<array.length-1){
System.out.print(array[i]+",");
}
else
System.out.print(array[i]);
}
System.out.println();
}
public static void main(String[] args){
int[] array = {10,9,8,7,6,5,4,3,2,1};
QuickSort qs = new QuickSort();
qs.print(array);
qs.quickSort(array,0,array.length-1);
qs.print(array);
}
}