java快速排序

public class QuickSort {

public static void quickSort(int[] arr,int start,int end){

if(start

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

while(ibase) {

j--;

}

if(i

arr[i]=arr[j];//比基准小赋给上一个坑

i++;

}

while(i

i++;

}

if(i

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);

}

}

你可能感兴趣的:(java快速排序)