Sorting algorithms/Gnome sort: Difference between revisions
Content added Content deleted
(→{{header|Python}}: ++ perl) |
|||
Line 216: | Line 216: | ||
sub gnome_sort |
sub gnome_sort |
||
{ |
{ |
||
my |
my @a = @_; |
||
my $size = scalar(@ |
my $size = scalar(@a); |
||
my $i = 1; |
my $i = 1; |
||
my $j = 2; |
my $j = 2; |
||
while($i < $size) { |
while($i < $size) { |
||
if ( $ |
if ( $a[$i-1] <= $a[$i] ) { |
||
$i = $j; |
$i = $j; |
||
$j++; |
$j++; |
||
} else { |
} else { |
||
@a[$i, $i-1] = @a[$i-1, $i]; |
|||
${$aref}[$i-1] = ${$aref}[$i]; |
|||
${$aref}[$i] = $t; |
|||
$i--; |
$i--; |
||
if ($i == 0) { |
if ($i == 0) { |
||
Line 236: | Line 234: | ||
} |
} |
||
} |
} |
||
return |
return @a; |
||
}</lang> |
}</lang> |
||
<lang perl>my @arr = ( 10, 9, 8, 5, 2, 1, 1, 0, 50, -2 ); |
<lang perl>my @arr = ( 10, 9, 8, 5, 2, 1, 1, 0, 50, -2 ); |
||
print |
print "$_\n" foreach gnome_sort( @arr );</lang> |
||
exit 0</lang> |
|||
=={{header|Python}}== |
=={{header|Python}}== |