package my0410;
public class QuickSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int data[]={2,2,4,1,4};
Qsort(data);
for(int i=0;i<data.length;i++){
System.out.println(data[i]);
}
}
public static void Qsort(int [] data){
quickSort(data,0,data.length-1);
}
public static void quickSort(int data[],int i,int j){
int privot;
if(i<j){
privot=partition(data,i,j);
quickSort(data,i,privot-1);
quickSort(data,privot+1,j);
}
}
public static void swap(int []data,int a,int b){
int temp=data[a];
data[a]=data[b];
data[b]=temp;
}
public static int partition(int []data,int i,int j){
int index=(i+j)/2;
swap(data,index,i);
int privot=data[i];
while(i<j){
while(i<j&&data[j]>=privot)--j;
data[i]=data[j];
while(i<j&&data[i]<=privot)++i;
data[j]=data[i];
}
data[i]=privot;
return i;
}
}