_fux_
0
hi leute,
ich wollte heute mal eine teil-rekursive funktion bauen und war eigntl. auch recht erfolgreich. nur leider passieren seltsame dinge beim ausführen des codes.
es geht um folgendes:
ich programmiere grundlegen erstmal einen einfachen Binärbaum (nur einfügen, löschend und ausgeben) ohne irgendwelche balancing-funktionen (die kommen später).
dafür hatte ich nochmal neu angefangen und mir überlegt, das einfügen teilweise rekursiv zu erledigen, was in dem fall sogar ganz okay ist.
nur leider passiert es, das - wenn ich in der funktion ein return einbaue - noch eine if abfrage ausgeführt wird. diese wird zuwar nicht ausgeführt, aber trotzdem verändert er das return, heißt gibt etwas falsches zurück und werte werden überschrieben.
wer mir helfen will:
ich habe screenshots mit code angefügt.
wer lust hat, setzt sich einfach breakpoints an insert und insert_find und schaut sich diese mit F10 an (prozedurschritt).
ich habe schon festvorgegeben werte angelegt, das problem tritt auf, wenn man versucht den wert 47 nach der 8 anzufügen.
im rar-file sind nur bilder und sourcecode (eine header und eine CPP)
ich wollte heute mal eine teil-rekursive funktion bauen und war eigntl. auch recht erfolgreich. nur leider passieren seltsame dinge beim ausführen des codes.
es geht um folgendes:
ich programmiere grundlegen erstmal einen einfachen Binärbaum (nur einfügen, löschend und ausgeben) ohne irgendwelche balancing-funktionen (die kommen später).
dafür hatte ich nochmal neu angefangen und mir überlegt, das einfügen teilweise rekursiv zu erledigen, was in dem fall sogar ganz okay ist.
nur leider passiert es, das - wenn ich in der funktion ein return einbaue - noch eine if abfrage ausgeführt wird. diese wird zuwar nicht ausgeführt, aber trotzdem verändert er das return, heißt gibt etwas falsches zurück und werte werden überschrieben.
wer mir helfen will:
ich habe screenshots mit code angefügt.
wer lust hat, setzt sich einfach breakpoints an insert und insert_find und schaut sich diese mit F10 an (prozedurschritt).
ich habe schon festvorgegeben werte angelegt, das problem tritt auf, wenn man versucht den wert 47 nach der 8 anzufügen.
im rar-file sind nur bilder und sourcecode (eine header und eine CPP)