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) { ############################ #Beginn des Vergleichs if($zzahl < $$knoten{'zahl'}) { 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); $konten = $ref_wurzel; last; } else { $ref_wurzel= knot($zzahl); $knoten = $ref_wurzel;} } } } } return($ref_wurzel); }