package test;
/**
* 快速排序
* @author huanghuankun
*
*/
public class quickSort {
public static void quick_sort(int array[],int low,int hight){
if(low<hight){
int location = partition(array,low,hight);
quick_sort(array,low,location-1);
quick_sort(array,location+1,hight);
}
}
private static int partition(int array[],int low,int hight){
int key = 0;
while(low<hight){
key = array[low];
while(low<hight && array[hight]>=key)
hight--;
array[low] = array[hight];
while(low<hight && array[low]<=key)
low++;
array[hight] = array[low];
}
array[low] = key;
return low;
}
public static void print(int array[]){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+",");
}
System.out.println();
}
public static void main(String[] args){
int array[] = {1,-4,8,3,2,0,5,7,9,10};
print(array);
quick_sort(array,0,array.length-1);
print(array);
}
}
/**
* 快速排序
* @author huanghuankun
*
*/
public class quickSort {
public static void quick_sort(int array[],int low,int hight){
if(low<hight){
int location = partition(array,low,hight);
quick_sort(array,low,location-1);
quick_sort(array,location+1,hight);
}
}
private static int partition(int array[],int low,int hight){
int key = 0;
while(low<hight){
key = array[low];
while(low<hight && array[hight]>=key)
hight--;
array[low] = array[hight];
while(low<hight && array[low]<=key)
low++;
array[hight] = array[low];
}
array[low] = key;
return low;
}
public static void print(int array[]){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+",");
}
System.out.println();
}
public static void main(String[] args){
int array[] = {1,-4,8,3,2,0,5,7,9,10};
print(array);
quick_sort(array,0,array.length-1);
print(array);
}
}