java快速排序

2019-03-21  本文已影响0人  HH001

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

}

}

上一篇 下一篇

猜你喜欢

热点阅读