![]() |
|< 1 ... 12 13 14 15 >| | ![]() |
150 Einträge, 15 Seiten |
1
2
3
4
my $tree = Baum1->neu(3,2,4,1,5);
$tree->ausgabe();
$tree->append(7,6,8);
$tree->ausgabe();
1
2
3
4
sub neu {
my $this = shift;
my $class = ref($this) || $this;
my @liste = @_; ........
1
2
3
4
5
6
7
8
9
10
11
12
sub AusgabeBaum {
if (defined(my $knoten = shift)){
if (defined($knoten->{'linksweg'})) {
AusgabeBaum($knoten->{'linksweg'});
}
print $knoten->{'zahl'};
print " ";
if (defined($knoten->{'rechtsweg'})) {
AusgabeBaum($knoten->{'rechtsweg'});
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
sub append {
my $self = shift;
my @vals = @_;
while ( my $n = shift @vals ) {
if ($n < $self->{val}) {
$self->newtree($n)
}
elsif ($n > $self->{val}) {
$self->newtree($n)
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sub append {
my $self = shift;
my @vals = @_;
my $n = shift @vals;
while ( my $ref_wurzel ) {
if ($n < $self->{val}) {
$self->newtree($n)
}
elsif ($n >= $self->{val}) {
$self->newtree($n)
}
}
}
append(7,6,8);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sub append {
my $self = shift;
my @vals = @_;
my $knoten = $wurzel;
while (my $nextvalue =shift) {
my $wurzel = $self->{val};
my $knoten = $wurzel;
while (1) {
if (defined($knoten)) {
if ($nextvalue < $knoten->{'zahl'}) {
if (defined($knoten->{linksweg})) {
$knoten = $knoten->{linksweg};
} else {
$knoten = knot($nextvalue);
last;
}
}
}
}
} }
1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
sub append {
my $self = shift;
my @vals = @_;
while (my $nextvalue =shift) {
my $wurzel = $self->{val};
my $knoten = $wurzel;
while (1) {
if (defined($knoten)) {
if ($nextvalue < $knoten->{'zahl'}) {
if (defined($knoten->{linksweg})) {
$knoten = $knoten->{linksweg};
} else {
$knoten = knot($nextvalue);
last;
}
}
else {
if ($nextvalue >= $knoten->{'zahl'}) {
if (defined($knoten->{'rechtsweg'})) {
$knoten =$knoten->{'rechtsweg'};
} else {
$knoten->{'rechtsweg'} = knot($nextvalue);
$knoten = $knoten->{rechtsweg};
last;}
}
}
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
sub append
{
# pick parameters
my($self, @vals) = @_;
foreach my$val (@vals)
{
# get root
my $knoten = $self->{val};
while (1)
{
if (defined($knoten)) {
if ($val < $knoten->{'zahl'}) {
if (defined($knoten->{linksweg})) {
$knoten = $knoten->{linksweg};
}
else {
$knoten = knot($val);
last;
}
}
else {
#### $knoten ist hier nicht definiert ####
#### du greifst aber ständig drauf zu ####
if ($val >= $knoten->{'zahl'}) {
if (defined($knoten->{'rechtsweg'})) {
$knoten =$knoten->{'rechtsweg'};
}
else {
$knoten->{'rechtsweg'} = knot($val);
$knoten = $knoten->{rechtsweg};
last;
}
}
}
}
}
}
![]() |
|< 1 ... 12 13 14 15 >| | ![]() |
150 Einträge, 15 Seiten |