快速排序
public class QuickSort {
public void partition(int l,int r,int[] arr){
if(l>=r) return;
int tmp=arr[l];
int i=l,j=r;
while(i<j){
while (j>i&&arr[j]>tmp)j--;
arr[i]=arr[j];
while(j>i&&arr[i]<=tmp)i++;
arr[j]=arr[i];
}
arr[i]=tmp;
partition(l,i-1,arr);
partition(i+1,r,arr);
}
public void sort(int[] arr){
int len=arr.length;
partition(0,len-1,arr);
}
public static void main(String[] args) {
QuickSort quickSort = new QuickSort();
int[] arr={1,3,1,3,4,23,12,-1,34,-34};
quickSort.sort(arr);
for (int a: arr){
System.out.printf("%d ",a);
}
System.out.println();
}
}