我正在实施快速排序,我希望将枢轴设置为中位数或三个数字。这三个数字是第一个元素、中间元素和最后一个元素。
我能不能在 less no 中找到中位数。比较?
median(int a[], int p, int r)
{
int m = (p+r)/2;
if(a[p] < a[m])
{
if(a[p] >= a[r])
return a[p];
else if(a[m] < a[r])
return a[m];
}
else
{
if(a[p] < a[r])
return a[p];
else if(a[m] >= a[r])
return a[m];
}
return a[r];
}