Sorting algorithms/Counting sort: Difference between revisions

→‎{{header|Perl 6}}: Added Perl 6 solution
No edit summary
(→‎{{header|Perl 6}}: Added Perl 6 solution)
Line 845:
counting_sort(\@ages, 0, 140);
print join("\n", @ages), "\n";</lang>
 
=={{header|Perl 6}}==
<lang perl6>sub counting_sort ( @a ) {
my ( $min, $max ) = .min, .max given @a.minmax;
 
my @counts;
@counts[ $_ - $min ]++ for @a;
 
return @counts.kv.map: { $^k + $min xx $^v if $^v };
}
 
my @all_ages = 2 .. 102;
my @ages = (^50).map: { @all_ages.pick };
say @ages.sort.Str eq @ages.&counting_sort.Str ?? 'ok' !! 'not ok';
</lang>
 
=={{header|PHP}}==
256

edits