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); }