Sorting algorithms/Insertion sort: Difference between revisions
Content added Content deleted
m (add link to Delphi for pascal) |
(→{{header|Perl}}: perlcritic(isms): DON't (ab)use unpack @_ assignment to also create local vars! constrain var scope; use return keyword) |
||
Line 1,157: | Line 1,157: | ||
<lang perl> |
<lang perl> |
||
sub insertion_sort { |
sub insertion_sort { |
||
my (@ |
my (@list) = @_; |
||
foreach my $i (1 .. $#list) { |
|||
$ |
my $j = $i; |
||
my $k = $list[$i]; |
|||
$ |
while ( $j > 0 && $k < $list[$j - 1]) { |
||
$list[$j] = $list[$j - 1]; |
|||
$j--; |
|||
} |
} |
||
$ |
$list[$j] = $k; |
||
} |
} |
||
@ |
return @list; |
||
} |
} |
||
my @a = (4, 65, 2, -31, 0, 99, 83, 782, 1); |
my @a = insertion_sort(4, 65, 2, -31, 0, 99, 83, 782, 1); |
||
@a = insertion_sort @a; |
|||
print "@a\n"; |
print "@a\n"; |
||
</lang> |
</lang> |