Для чётного количества чисел медианой считается полусумма двух средних чисел.
template<class T> T _median4 ( const T * a )
{
nat i1, i2, i3, i4;
if ( a[0] < a[1] )
{
i1 = 0;
i2 = 1;
}
else
{
i1 = 1;
i2 = 0;
}
if ( a[2] < a[3] )
{
i3 = 2;
i4 = 3;
}
else
{
i3 = 3;
i4 = 2;
}
return ( _max ( a[i1], a[i3] ) + _min ( a[i2], a[i4] ) ) / 2;
}
Исходники находятся в файле median.h. Наверх |