Averages/Median: Difference between revisions
Content deleted Content added
m Add link to Mean |
Added Java |
||
Line 3:
===See also===
* [[Mean]]
=={{header|Java}}==
{{works with|Java|1.5+}}
<lang java5>public static double median(LinkedList<Double> list){
Collections.sort(list);
if(list.size() % 2 == 0){
return (list.get((list.size()) / 2) + list.get((list.size()) / 2 - 1)) / 2;
}
return list.get((list.size()-1)/2);
}</lang>
=={{header|Tcl}}==
<lang tcl>proc median args {
|
Revision as of 13:07, 12 June 2009
Averages/Median
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Write a program to find the median value of a vector of floating-point numbers. The program need not handle the case where the vector is empty, but must handle the case where there are an even number of elements.
See also
Java
<lang java5>public static double median(LinkedList<Double> list){
Collections.sort(list); if(list.size() % 2 == 0){ return (list.get((list.size()) / 2) + list.get((list.size()) / 2 - 1)) / 2; } return list.get((list.size()-1)/2);
}</lang>
Tcl
<lang tcl>proc median args {
set list [lsort -real $args] set len [llength $list] # Odd number of elements if {$len & 1} { return [lindex $list [expr {($len-1)/2}]] } # Even number of elements set idx2 [expr {$len/2}] set idx1 [expr {$idx2-1}] return [expr { ([lindex $list $idx1] + [lindex $list $idx2])/2.0 }]
}
puts [median 3.0 4.0 1.0 -8.4 7.2 4.0 1.0 1.2]; # --> 2.1</lang>