Ich versuche, einen Baum zu durchlaufen und seinen Inhalt in Präfix, Postfix und Infix Notation auszudrucken. Im Moment druckt das Programm nur einen Operator des eingegebenen Ausdrucks aus.Tree Traversal mit mehreren Parametern
Ich habe Methoden gesehen, diese rekursiv zu vervollständigen, aber sie haben alle einen Parameter in ihrer Funktion verwendet, der direkt mit der Klasse des Knotens zusammenhing. (Example)
Wie würde ich gehen, den linken und rechten Knoten des Baums rekursiv mit mehreren Parametern zu durchlaufen? Oder ist das überhaupt eine praktikable Option? Der Code, der mir Probleme gibt, sind Zeilen 32-42 in "expressiontree.cpp", aber ich habe die Header-Datei und ein Beispiel dafür, was der Code für den Kontext ausgibt, enthalten.
CODE (Der Link führt zu GitHub, weil die native Texteditor wird mir einige Probleme geben.)
Vielen Dank für alle Ideen, die Sie Jungs haben!
Danke für die Rückmeldung! Ich werde das versuchen und sehen, wie es funktioniert. – HammerQueen
Die Verwendung Ihrer Methode führte zu Compilerfehlern, da die Funktion in einer anderen verwandten Datei verwendet wird. Gemäß den Anweisungen kann ich nichts anderes als die Dateien ändern, die ich hier dokumentiert habe. Ich sehe, wie Ihre Methode funktionieren würde, aber ich denke nicht, dass es in meinen spezifischen Umständen lebensfähig ist. Gibt es eine Methode, bei der die Funktion nur noch 3 Parameter benötigt? – HammerQueen
Normalerweise gibt es bei Datenstrukturen wie diesen eine Klasse, die die Datenstruktur selbst darstellt und verwaltet, und dann gibt es mindestens eine andere Unterklasse, die Elemente dieser Datenstruktur darstellt. Ist das bei dir der Fall? Haben Sie zum Beispiel eine Klasse namens "ETree" oder so ähnlich? Sie sagten, dass Sie die Klasse "ETreeNode" aufgrund der "Anweisungen", die Sie haben, nicht ändern können; bedeutet das, dass dies ein Schulprojekt oder etwas ähnliches ist? Können Sie neue Klassen hinzufügen oder nicht? Letzte Frage, wenn es eine Elternklasse gibt, kannst du das ändern? – Fearnbuster