核心code:
public class quicksort {
public static void main(String[] args) {
int[] a = {1, 4, 3, 5, 2, 7, 12, 45, 13, 754, 124, 754, 6, 32, 45, 1};
quicksort quicksort = new quicksort();
quicksort.quick(a, 0, a.length - 1);
for (int b : a) System.out.println(b);
}
public void quick(int[] a, int l, int r) {
if (l >= r) return;
int data = a[l], lift = l, right = r;
while (lift < right) {
while (a[right] >= data) {
if (right == lift) break;
right--;
}
while (a[lift] <= data) {
if (right == lift) break;
lift++;
}
if (lift >= right) continue;
a[lift] ^= a[right];
a[right] ^= a[lift];
a[lift] ^= a[right];
}
a[l] = a[lift];
a[lift] = data;
quick(a, l, lift - 1);
quick(a, lift + 1, r);
}
}