作者giacch (小a)
看板Perl
标题Re: [问题] 递回呼叫
时间Sun Dec 7 14:58:35 2008
※ 引述《typeotoco (打字男)》之铭言:
: 小的在写一个 印出所有字串中字元排列组合 的程式
: (略)
想试试这个题目, 但我没写过, 所以就直接写了...
#!/usr/bin/perl
$String = "Perl";
&Permutation(0, split('', $String));
### Permutation Flag List ###
sub Permutation {
my @TMP = @_;
my $Flag = shift(@TMP);
my @Array = splice(@TMP, 0);
for(my $i = $Flag; not $i > $#Array; $i ++) {
@TMP = @Array;
($TMP[$Flag], $TMP[$i]) = ($TMP[$i], $TMP[$Flag]);
if($i != $Flag or $i == 0) {
# print join(' ', @TMP) . "\n";
print join(' ', @TMP) . ", \$Flag = $Flag, \$i = $i\n";
}
&Permutation($Flag + 1, @TMP);
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.232.172.163
1F:→ giacch:也许有多余的部分, 还请大大指点... (头晕 @.@rz 12/07 15:02