Thread permutation (31 answers)
Opened by esskar at 2006-09-11 12:30

topeg
 2006-09-13 21:46
#69647 #69647
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Nun will ich auch eine Variante zum besten geben:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub binhyphen3
{
my ($str,$sep) = @_;
my @lst=();
my @ret=();
map{push(@lst,$_); push(@lst,''); }split(/$sep/,$str);
pop(@lst);
my $lang=@lst;
my $i=1;
while($i<$lang)
{
for($i=1; $i<$lang; $i+=2)
{
if($lst[$i] eq '')
{
$lst[$i]=$sep;
last;
}
$lst[$i]='';
}
push(@ret,join('',@lst));
}
return @ret;
}

Obwohl nicht rekusiv, ist es doch recht schnell. (nur ungefähr halb so schnell wie die schnellste rekursive Variante.)
Im Grunde handelt es sich hierbei um einen binären Zähler. :-)


Edit: "ich" ergänzt. :-)\n\n

<!--EDIT|topeg|1158170143-->

View full thread permutation