3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # This program is public domain
7 # SEE: <http://rosettacode.org/wiki/Averages/Median>
10 # Computes the median or the `array` values.
11 fun median
(array
: Array[Float]): nullable Float do
12 if array
.is_empty
then return null
13 default_comparator
.sort
(array
)
14 var mid
= (array
.length
/ 2).to_i
15 var rem
= ((array
.length
- 1) / 2).to_i
16 return (array
[mid
] + array
[rem
]).to_f
/ 2.0
19 print median
(new Array[Float]) or else "null"
20 print median
([5.0, 3.0, 4.0]) or else "null"
21 print median
([5.0, 4.0, 2.0, 3.0]) or else "null"
22 print median
([3.0, 4.0, 1.0, -8.4, 7.2, 4.0, 1.0, 1.2]) or else "null"