package paixu;
import org.junit.Test;
import java.util.Arrays;
public class KuaiSu {
public int getMiddle(int[] arr, int low, int high){
int temp = arr[low];//选取中轴值
while(low<high){
while(low<high && arr[high]>=temp){
high--;
}
arr[low] = arr[high];//比中轴小的移到左侧低端
while (low < high && arr[low]<=temp){
low++;
}
arr[high] = arr[low];//比中轴大的移到右侧高端
}
arr[low] = temp;//把中轴放在大小交界处。
return low;//返回中轴位置
}
public void quickSort(int[] arr, int low, int high){
if(low<high){
int middle = getMiddle(arr, low, high);
quickSort(arr, low, middle-1);
quickSort(arr,middle+1,high);
}
}
@Test
public void test01(){
int[] arr = {5,8,6,4,7,2,1,3,69,365,35,25,5555,5};
// int[] arr = {5,8,6,4,7,2,1,5};
if (arr.length > 0) {
quickSort(arr,0,arr.length-1);
}
System.out.println(Arrays.toString(arr));
}
}