请问这种递归形式的快速排序的递归出口是哪一个语句?
void QuickSort(int *p, int low, int high)
{
    if (low< high)
    {
        int i = low, j = high, pivot = p[low];
        while (i < j)
        {
            while (i < j && p[j] >= pivot) // 从右向左找第一个小于pivot的数 
                j--;//退出while时会产生一个j,使得p[j]<pivot;
            if (i < j)//如果这个j比i大
                p[i++] = p[j];//令p[i]=p[j],然后递增i;这么写比{p[i]=p[j];i++}更简洁!!
            while (i < j && p[i]< pivot) // 从左向右找第一个大于等于pivot的数 
                i++;
            if (i < j)
                p[j--] = p[i];///令p[j]=p[i],然后递减j
        }
        p[i] = pivot;//pivot就位
                     // 递归调用
        QuickSort(p, 0, i - 1);  //继续快排左区间
        QuickSort(p, i + 1, high);//排列右区间,之前利用了j,使得不用每次都更新右区间的右端点
    }
    
}
#C/C++#
查看5道真题和解析
