Sorting algorithms/Gnome sort: Difference between revisions

m (→‎{{header|BASIC}}: nl works with)
Line 210:
end;
end;</lang>
 
=={{header|Perl}}==
<lang perl>use strict;
 
sub gnome_sort
{
my $aref = shift;
 
my $size = scalar(@$aref);
my $i = 1;
my $j = 2;
while($i < $size) {
if ( ${$aref}[$i-1] <= ${$aref}[$i] ) {
$i = $j;
$j++;
} else {
my $t = ${$aref}[$i-1];
${$aref}[$i-1] = ${$aref}[$i];
${$aref}[$i] = $t;
$i--;
if ($i == 0) {
$i = $j;
$j++;
}
}
}
return $aref;
}</lang>
 
<lang perl>my @arr = ( 10, 9, 8, 5, 2, 1, 1, 0, 50, -2 );
print join("\n", @{gnome_sort( \@arr )});
exit 0</lang>
 
=={{header|Python}}==