sub newtree { ###################### # Erstellen des Trees my $ref_liste1 = shift; my $knoten = undef; my $ref_wurzel = undef; for my $zzahl (@$ref_liste1){ # my $refvalue = $ref_wurzel; if ($knoten) { while (1) { if($zzahl < $$knoten{'zahl'}) { #Beginn des Vergleichs if(defined($$knoten{'linksweg'})) { $knoten = $$knoten{'linksweg'}; } else { $knoten->{'linksweg'} = knot($zzahl); $knoten = $ref_wurzel; last; #Ende } } #wenns Links nicht mehr weiter geht, geh rechts weiter else { if ($zzahl >= $$knoten{'zahl'}) { if(defined($knoten->{'rechtsweg'})) { $knoten =$$knoten{'rechtsweg'}; } else { $$knoten{'rechtsweg'} = knot($zzahl); $knoten = $ref_wurzel; last; } } else { $ref_wurzel= knot($zzahl); $knoten = $ref_wurzel;} } } } return $ref_wurzel; }