java 快速排序代码实现
主要思想: 每次循环递归都会将一个数排到它最终正确的位置上。
上代码:
public void quickSort(int[] A, int left, int right) {
if (left >= right) {
return;
}
int pivot = A[left];
int i = left, j = right;
while(i < j) {
while (i < j && A[j] >= pivot) {
j--;
}
A[i] = A[j];
while (i < j && A[i] <= pivot) {
i++;
}
A[j] = A[i];
}
A[i] = pivot;
quickSort(A, left, i -1);
quickSort(A, i + 1, right);
}
可用如下样例进行测试:
A = [1,2,3,2,5,6]
quickSort(A, 0, A.length - 1);