Я реализовал quicksort, и я хотел установить опорную точку в качестве медианного или трех чисел. Три числа - это первый элемент, средний элемент и последний элемент.
Могу ли я найти медиана меньше, чем нет. сравнений?
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];
}