Sorting algorithms/Heapsort: Difference between revisions

Content added Content deleted
(Added COBOL, by Steve Williams)
m (→‎{{header|Perl 6}}: removed 'is rw')
Line 2,505: Line 2,505:


=={{header|Perl 6}}==
=={{header|Perl 6}}==
<lang perl6>sub heap_sort ( @list is rw ) {
<lang perl6>sub heap_sort ( @list ) {
for ( 0 ..^ +@list div 2 ).reverse -> $start {
for ( 0 ..^ +@list div 2 ).reverse -> $start {
_sift_down $start, @list.end, @list;
_sift_down $start, @list.end, @list;
Line 2,516: Line 2,516:
}
}


sub _sift_down ( $start, $end, @list is rw ) {
sub _sift_down ( $start, $end, @list ) {
my $root = $start;
my $root = $start;
while ( my $child = $root * 2 + 1 ) <= $end {
while ( my $child = $root * 2 + 1 ) <= $end {