Sorting algorithms/Comb sort: Difference between revisions

→‎{{header|Perl 6}}: Added Perl 6 solution
(added Fortran)
(→‎{{header|Perl 6}}: Added Perl 6 solution)
Line 639:
return @arr;
}</lang>
 
=={{header|Perl 6}}==
{{trans|Perl}}
<lang perl6>sub comb_sort ( @a is copy ) {
my $gap = +@a;
my $swaps = 1;
while $gap > 1 or $swaps {
$gap = ( ($gap * 4) div 5 ) || 1 if $gap > 1;
 
$swaps = 0;
for ^(+@a - $gap) -> $i {
my $j = $i + $gap;
if @a[$i] > @a[$j] {
@a[$i, $j] .= reverse;
$swaps = 1;
}
}
}
return @a;
}
 
my @weights = (^50).map: { 100 + ( 1000.rand.Int / 10 ) };
say @weights.sort.Str eq @weights.&comb_sort.Str ?? 'ok' !! 'not ok';
</lang>
 
=={{header|PHP}}==
<lang php>function combSort($arr){
256

edits