public class test {
public static void quickSort(int[] a, int left, int right) {
if (left > right || left < 0 || right > a.length - 1) {
return;
}
int key = a[left];
int i = left;
int j = right;
while (i < j) {
while (a[j] >= key && i < j) {
j--;
}
a[i] = a[j];
while (a[i] <= key && i < j) {
i++;
}
a[j] = a[i];
}
a[j] = key;
quickSort(a, left, i - 1);
quickSort(a, i + 1, right);
}
public static void main(String[] args) {
int[] num = { 3, 45, 78, 64, 52, 11, 64, 55, 99, 11, 18 };
System.out.println(arrayToString(num, "未排序"));
quickSort(num, 0, num.length - 1);
System.out.println(arrayToString(num, "排序"));
}
private static String arrayToString(int[] arr, String flag) {
String str = "数组为(" + flag + "):";
for (int a : arr) {
str += a + "\t";
}
return str;
}
}
废话不多说,直接上代码!!!