我尝试在Perl中实现QuickSort,就像我在Python和Ruby中使用以下代码一样:
use strict;
use warnings;
sub sort {
my ($lista, $p, $r) = @_;
if ($p < $r) {
my $q = &partition(\@$lista, $p, $r);
&sort(\@$lista, $p, $q - 1);
&sort(\@$lista, $q + 1, $r);
}
}
sub partition {
my ($lista, $p, $r) = @_;
my $x = $$lista[$r];
my $i = $p - 1;
for (my $j = $p; $j < @$lista - 1; $j++) {
if ($$lista[$j] <= $x) {
$i++;
($$lista[$i], $$lista[$j]) = ($$lista[$j], $$lista[$i]);
} …Run Code Online (Sandbox Code Playgroud)