快速排序代码整理

划分函数

int huafen(int A[], int L, int R) {
    int mid = A[L];
    while (L < R) {
        while (A[R] >= mid && L < R) R--;
        A[L] = A[R];
        while (A[L] <= mid && L < R) L++;
        A[R] = A[L];
    }
    A[L] = mid;
    return L;
}

主函数

void Qsort(int A[], int L, int R) {
    if (L >= R) return; // 递归终止
    int M = huafen(A, L, R);
    Qsort(A, L, M - 1); // 左半部分快排
    Qsort(A, M + 1, R); // 右半部分
}

希望可以真正找到迷途的光