快速排序
原理:首先选择一个基准值,将一个数组不断分割成两个部分,左边部分小于基准值,右边部分大于基准值,再对子数组重复此步骤,直到最后每个子数组只有一个元素为止
import java.util.*;
public class Main{
public static void main(){
}
public void quickSort(int arr,int left,int right){
if(left < right){
int key = arr[left];
int i = left;
int j = right;
while(i < j){
while(i < j && arr[j] > key) j--;
if(i < j){
arr[i] = arr[j];
i++;
}
while(i < j && arr[i] < key) i++;
if(i < j){
arr[j] = arr[i];
j--;
}
}
arr[i] = key;
quickSort(arr,left,i-1);
quickSort(arr,i+1,right);
}
}
}