快速排序
//快排
public static void quick(int[]a,int left,int right) {
if(left>right) {
return;
}
int t = a[left];
int L = left; //左哨兵,找比基准数大的
int R =right; //右哨兵,找比基准数小的
while(L!=R) {
while(L<R&&a[R]>=t) {
R--;
}
while(L<R&&a[L]<=t) {
L++;
}
//左右交换位置
int x = a[R];
a[R]=a[L];
a[L]=x;
}
a[left]=a[L];
a[L]=t;
System.out.println(Arrays.toString(a));
quick(a,left,L-1);
quick(a,L+1,right);
}