Thread Stack? (1 answers)
Opened by Gast at 2006-04-03 11:45

esskar
 2006-04-03 13:46
#34196 #34196
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ein Stack ist eine LIFO-Struktur (Last In, First Out).
Das bedeutet, dass letzte Element, dass du auf den Stack gelegt hast, ist das erste, dass du wieder liest.
Mit den Arrays von Perl kann man leicht als Stack missbrauchen

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
my $code = "( Tab1 ( TabA TabB ) Tab2 Tab3 )";
my @stack = split / /, $code;

print Combine(\@stack);

sub Combine {
my $stack = shift;
my $retval = '';

my @elements = ();
while(scalar @{$stack}) {
my $element = pop @{$stack};
if($element eq ')') {
push @elements, '[' . Combine($stack) . ']';
} elsif($element eq '(') {
last;
} else {
push @elements, $element;
}
}

$retval .= join("#", reverse @elements);
return $retval;
}

View full thread Stack?