Sorting algorithms/Heapsort: Difference between revisions
Content added Content deleted
(Added COBOL, by Steve Williams) |
SqrtNegInf (talk | contribs) 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 |
<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 |
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 { |