快速排序法
自己写的
import java.util.*;
public class FastSort
{
public static void main(String[] args){
int[] num={1,2,4,9,11,14,,9,1,3};
doSort(num);
System.out.println(Arrays.toString(num));
}
public static int getMiddle(int[] num,int start,int end){
int key=num[start];
int high = end;
int low = start;
while(low<high){
while(low<high&&key<=num[high]){
high--;
}
num[low] = num[high];
while(low<high&&num[low]<=key){
low++;
}
num[high]=num[low];
}
num[low] = key;
return low;
}
public static void quickSort(int[] num,int start,int end ){
if(end>start){
int middle = getMiddle(num,start,end);
quickSort(num,start,middle-1);
quickSort(num,middle+1,end);
}
}
public static void doSort(int[] num){
quickSort(num,0,num.length-1);
}
}