public class QuickSort {
public static void main(String[] args) {
int[] a = { 3, 7, 4, 2, 6, 1, 5 };
quick(a);
for (int i = 0; i < a.length; i++) {
System.out.println(a[i] + " ");
}
}
private static void quick(int[] a) {
if (a.length > 0) {
quickSort(a, 0, a.length - 1);
}
}
private static void quickSort(int[] a, int left, int right) {
if (left < right) {
int baseIndex = getBaseIndex(a, left, right);
quickSort(a, left, baseIndex - 1);
quickSort(a, baseIndex + 1, right);
}
}
private static int getBaseIndex(int[] a, int left, int right) {
int temp = a[left];
while (left < right) {
while (left < right && a[right] >= temp) {
right--;
}
a[left] = a[right];
while (left < right && a[left] <= temp) {
left++;
}
a[right] = a[left];
}
a[left] = temp;
return left;
}
}
Java快速排序,准备面试用的~~