private static void swap(int[] a, int i, int j) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
private static int partition(int[] a, int p, int r) {
int u = a[p]; //以第一個(gè)元素為基準
int i = p + 1;
int j = r;
for (; ; ) { //將小于u的元素交換到左邊,將大于u的元素交換到右邊
while (a[i] < u) {
i++;
}
while (a[j] > u) {
j--;
}
if (i >= j) {
break;
}
swap(a, i, j);
}
a[p] = a[j];
a[j] = u;
return j;
}
public static void main(String[] args) {
int[] a = {3, 4, 1, 5, 9, 3, 2, 8, 10};
quickSort(a, 0, a.length - 1);
System.out.println(Arrays.toString(a));
}
}
聯(lián)系客服