#!/usr/bin/env perl # # Prints the median in a *unsorted* list of numbers on stdin. # Do not call it on a sorted list since Quicksort has worst case behavior # on a presorted list. # &: Feb 3, 2002. # use POSIX qw(floor ceil); my @f = sort {$a <=> $b} <>; my ($a,$b)=(floor(@f/2-.5), ceil(@f/2-.5)); my $med = ($f[$a] + $f[$b])/2; print "$med\n";