代码如下
public static void Sort(int[] arr, int low ,int high){
int pivot = arr[low];
int low_temp = low;
int high_temp = high;
while(low < high){
//从后往前找小的
while(low < high && arr[high] >= pivot){
--high;
}
if(high != low){
arr[low] = arr[high];
}
// 从前往后找大的
while(low < high && arr[low] <= pivot){
++low;
}
arr[high] = arr[low];
}
arr[low] = pivot;
if(low_temp<high) sort(arr,low_temp,low-1);
if(low<high_temp) sort(arr,low+1,high_temp);
/*
if(low <= high && high>0){
Sort(arr,low_temp,low-1);
}
if(low <= high && low < arr.length-1){
Sort(arr,low+1,high_temp);
}
*/
}
测试