public class QuickSort {
public static void quickSort(int[] arr,int start,int end){
if(start<end) {
int index=getIndex(arr,start,end);
quickSort(arr,0,index-1);
quickSort(arr,index+1,end);
}
}
private static int getIndex(int arr[],int start,int end) {
int i=start,j=end;
int base=arr[i];//挖坑
while(i<j) {
while(i<j&&arr[j]>base) {
j--;
}
if(i<j) {
arr[i]=arr[j];//比基准小赋给上一个坑
i++;
}
while(i<j&&arr[i]<base) {
i++;
}
if(i<j) {
arr[j]=arr[i];
j--;
}
}
arr[i]=base;
return j;
}
public static void main(String[] args) {
int[] arr= {5,3,6,2,7,1,8,4,0,9};
int start=0,end=arr.length-1;
quickSort(arr,start,end);
for(int a:arr) {
System.out.println(a);
}
}
网友评论