1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
public static void (String[] args) {
int arr[] ={75,70,85,80,60,100,90}; QuickSort(arr,0,6); System.out.println(Arrays.toString(arr)); }
public static int [] QuickSort(int arr[],int start,int end){
if(end>start){
int partition = partition(arr,start,end);
QuickSort(arr,start,partition-1); QuickSort(arr,partition+1,end);
}
return arr; }
public static int partition(int arr[],int start,int end){
int prior = arr[start]; int partition=start; int left = start; int right = end;
while(left<right){
while (right >left && arr[right]>=prior ){ right--; }
while (left<right && arr[left] <= prior ){ left++; }
int temp=arr[right]; arr[right]=arr[left]; arr[left]=temp; }
if(start!=left){ arr[start]=arr[left]; arr[left] = prior;
partition=left; }
return partition; }
|
近期评论