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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
sub newtree {
######################
# Erstellen des Trees
my $ref_liste1 = shift;
my $zahl = undef;
my $ref_wurzel = undef;
my $refvalue = 0;
for my $zzahl (@$ref_liste1){
# my $refvalue = $ref_wurzel;
if ($zahl)
{ while (1) {
############################
#Beginn des Vergleichs
if($zzahl < $$ref_wurzel{'zahl'}) {
if(defined($$ref_wurzel{'linksweg'}))
{
$refvalue = $$ref_wurzel{'linksweg'}; #erster refvalue passt
}
else {
$$ref_wurzel{'linksweg'} = knot($zzahl);
$zahl = $ref_wurzel; #bleibt auch
last; #Ende
}
}
#wenns Links nicht mehr weiter geht, geh rechts weiter
else { if ($zzahl > $$ref_wurzel {'zahl'}) {
if(defined($$ref_wurzel{'rechtsweg'}))
{
$refvalue = $$ref_wurzel{'rechtsweg'};
}
else {
$$ref_wurzel{'rechtsweg'} = knot($zzahl);
last;
}
}
}
}
}
return($ref_wurzel);
}
so gehts auch nicht.. ich hab mir gedacht es liegt vielleicht am refvalue.. aber das passt auch nicht...