Als u codering in C + + of C # , kunt u af en toe nodig hebt om een binaire boom recursief bouwen . Dit genereert de leaf nodes van beneden naar boven , iets wat de meeste andere codering platforms niet toestaan . Als u nodig hebt om de boom recursief bouwen van input van de gebruiker van een soort , kunt u dit ook doen , maar het vereist een extra deel van de code . Je hoeft alleen maar de input van de gebruiker code direct te integreren in de binaire commando's , zodat de gebruiker wordt gevraagd om hun bijdrage als u de functie uit te voeren . Instructies 1 Open je C + + of C # project . Kopie 2 de volgende code waar u wilt dat de boom moet worden gegenereerd . Dit is de belangrijkste bouwsteen voor een eenvoudige recursieve binaire boom : class Boom { private : Node * start ; Node * newNode ; Node * stroom; Node * vorige ; Node * key ; Node * keyPrevious ; int TreeSize , int waarde ; openbaar : void createTree ( int TreeSize ) { if ( TreeSize == 1 ) { current = starten ; vorige = stroom; } else { createTree ( TreeSize - 1 ) , terwijl ( huidige - > getLeft ( ) = ! NULL ) { vorige = stroom , stroom = stroom - > getLeft ( ) ; } stroom - > setLeft ( new Node ( + + waarde ) ) ; vorige = stroom , stroom = stroom - > getLeft ( ) ; cout < < " huidige : " << huidige - > getValue ( ) << " " << " vorige : " << vorige - > getValue ( ) < < endl ; } } Boom ( int size ) { TreeSize = grootte; waarde = 0 ; start = NULL ; vorige = stroom ; newNode = new Node ( waarde ) ; start = newNode ; cout << " start : " ; << start - > getValue ( ) << endl ; createTree ( TreeSize ) ;} } ; int main ( ) { } XXXXXXXXXXXXXXX 3 Vervang het gedeelte " XXXXXXXXXXXXXXX " met uw input van de gebruiker code . Binaire boom ingang zou over het algemeen vragen om een numerieke variabele , zoals hoeveel " blad " nodes te beginnen en /of eindigen . Deze code wordt aangeroepen door de functie voor de boom wordt gegenereerd . 4 Sla de code .
|