Wenn Sie bei der Codierung C + + oder C # , können Sie gelegentlich brauchen, um einen binären Baum rekursiv zu bauen. Dieser erzeugt die Blattknoten von unten nach oben , was die meisten anderen Plattformen Codierung nicht zulassen . Wenn Sie den Baum rekursiv bauen aus Benutzereingaben irgendeiner Art benötigen, können Sie dies auch tun , aber es erfordert eine zusätzliche Code-Abschnitt . Sie müssen nur die Eingabe des Benutzers in die binären Code -Befehle direkt integrieren , so dass der Benutzer für ihren Beitrag wird aufgefordert, wenn Sie die Funktion auszuführen . Anleitung
1
Öffnen Sie Ihre C + + oder C #-Projekt .
2
Kopieren Sie den folgenden Code , wo Sie wollen der Baum erzeugt werden. Dies ist der wichtigste Baustein für eine grundlegende rekursive binären Baum :
Klasse Tree { private: Node * start; Node * newNode ; Node * Strom; Node * vorige ; Node *-Taste ; Node * keyPrevious ; int TreeSize ; int value ; public: void createTree (int TreeSize ) {if ( TreeSize == 1) {current = start ; previous = current ; } else { createTree ( TreeSize - 1) , während ( Strom -> getLeft () = ! NULL) { previous = Strom , Strom = Strom -> getLeft ();} Strom > SetLeft (new Node ( + + Wert ) ); vorherigen = Strom , Strom = Strom -> getLeft (); cout < < " Strom : " << Strom -> getValue ( ) << " " << " zurück : " << vorherige -> getValue () < < endl; }} Baum ( int size ) { TreeSize = Größe , Wert = 0; start = NULL; previous = current ; newNode = new Node ( value); start = newNode ; cout << " Start: " ; << Start- > getValue () << endl; createTree ( TreeSize );}} ;
int main () { } XXXXXXXXXXXXXXX
3 < p> Ersetzen Sie den Abschnitt mit der Aufschrift " XXXXXXXXXXXXXXX " mit Ihrem Benutzer eingegebenen Code . Binary Tree Eingang würde in der Regel verlangen, eine numerische Variable z. B. wie viele "leaf" Knoten mit und /oder am Ende mit zu beginnen. Dieser Code wird von der Funktion aufgerufen werden , bevor der Baum generiert.
4
Speichern Sie den Code .