public static void main(String[] args) {
int[] arr = new int[]{2,5,7,9,3,4,2,0,4};
Main.quick(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
}
public static void quick(int[] arr,int start,int end){
if (start<end){
//记录首数字
int s = arr[start];
int low= start;
int hight = end;
while (low<hight){
while (low<hight&&arr[hight]>=s){
hight--;
}
arr[low]=arr[hight];
while (low<hight&&arr[low]<=s){
low++;
}
arr[hight]=arr[low];
}
arr[low] = s;
//大的递归
quick(arr,low+1,end);
//小的数字
quick(arr,start,low);
}
}
网友评论