class MySort {
public static void main(String[] args) {
int[] arr = {44,44,2,32,54,22,88,77,99,11};
quickSort(arr,0,arr.length-1);
for(int x : arr) {
System.out.print(x+" / ");
}
}
public static void quickSort(int[] arr,int left,int right){
if(left<right){
int i=left,j=right,x=arr[left]; //x为基准数字
while(i<j){
while(i<j&&arr[j]>=x) //从右向左找第一个小于x的数,如果小于x跳出while循环
j--;
if(i<j){ //执行if里的语句进行交换
arr[i++]=arr[j];
}
while(i<j&&arr[i]<x) //同上
i++;
if(i<j){
arr[j--]=arr[i];
}
}
arr[i]=x;
quickSort(arr,left,i-1); //递归调用,分而治之
quickSort(arr,i+1,right); //递归调用,分而治之
}
}
}