Thread permutation
(31 answers)
Opened by esskar at 2006-09-11 12:30
Hier, ich hab auch noch einen Vorschlag; auch wenn ich im Benchmark damit Canchenlos bin ;):
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 sub fbhp { my $string = shift; my $seperator = shift || '-'; my @elements = split /$seperator/, $string; my @status; my $count = $#elements; push @status, 0 for (0..$count); #kann man sich auch sparen my @ret; for (my $i = 1; $i <= 2 ** $count; ++$i) { my $this = $elements[0]; for (my $j = 0; $j < $count; ++$j) { $this .= $seperator if ($status[$j]); if ($i % 2 ** $j == 0) { $status[$j] = (++$status[$j]) % 2; } $this .= $elements[$j+1]; } push @ret, $this; } } Benchmark wie oben aber: Code: (dl
)
'Version 3' => sub { fbhp($str) }, Code: (dl
)
1 Rate Version 1 Version 3 Version 2 Per|li|nist der; -en, -en <zu â...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
|