快速排序
//快排 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); }