Finds median of an input range in O(N) time on average. In the case of an
even number of elements, the mean of the two middle elements is returned.
This is a convenience founction designed specifically for numeric types,
where the averaging of the two middle elements is desired. A more general
selection algorithm that can handle any type with a total ordering, as well
as selecting any position in the ordering, can be found at
dstats.sort.quickSelect() and dstats.sort.partitionK().
Allocates memory, does not reorder input data.

Finds median of an input range in O(N) time on average. In the case of an even number of elements, the mean of the two middle elements is returned. This is a convenience founction designed specifically for numeric types, where the averaging of the two middle elements is desired. A more general selection algorithm that can handle any type with a total ordering, as well as selecting any position in the ordering, can be found at dstats.sort.quickSelect() and dstats.sort.partitionK(). Allocates memory, does not reorder input data.