1、快速排序理念
找基准线,基准线将数组分为两部分,左边小于基准线的值,右边大于基准线的值,递归排序。
2、java代码
public static void quickSort(int[] list,int left,int right){
if(left < right){
// 1、找基准线
int point = partition(list,left,right);
// 2、递归排序左字数组
quickSort(list,left,point-1);
// 3、递归排序右字数组
quickSort(list,point+1,right);
}
}
public static int partition(int[] list,int left,int right){
int first = list[left];
while (left < right){
while (left < right && first <= list[right]){
right--;
}
swap(list,left,right);
while (left < right && first >= list[left]){
left++;
}
swap(list,left,right);
}
return left;
}
public static void swap(int[] list,int left,int right){
int temp = list[left];
list[left] = list[right];
list[right] = temp;
}



