void f(int low, int high)
{
int k = low + rand() % (high - low + 1); //这里别忘了要加low,每次不一定是从0开始的,rand()随机函数趋取余区间长度
Swap(a[k], a[low]);
ElemType t = a[low];
int i = low, j = high;
while(i < j)
{
while(a[j] >= t) j--;
a[i] = a[j];
while(a[i] <= t) i++;
a[j] = a[i];
}
return i;
}
随机选取枢轴值
最新推荐文章于 2022-08-02 20:19:24 发布