Hvis du kodning i C + + eller C #, kan du lejlighedsvis brug for at bygge en binær træ rekursivt . Dette genererer blade noder op fra bunden , noget de fleste andre kodning platforme ikke tillade. Hvis du har brug for at bygge træet rekursivt fra bruger input af en slags , kan du gøre det så godt , men det kræver en ekstra sektion af kode . Du skal bare nødt til at integrere bruger input kode i de binære kommandoer direkte , således at brugeren bliver bedt for deres bidrag , når du kører funktionen. Instruktioner
1
Åbn din C + + eller C # projekt.
2
Kopier følgende kode , hvor du ønsker træet skal genereres . Dette er den vigtigste byggesten for en grundlæggende rekursiv binært træ : Hej
class Tree { private : Node * start; Node * newNode , Node * strøm, Node * forrige , Node * nøgle, Node * keyPrevious ; int TreeSize , int værdi public: void createTree ( int TreeSize ) { if ( TreeSize == 1 ) { strøm = start , foregående = aktuel ;} else { createTree ( TreeSize - 1) , mens (strøm -> getLeft () =! NULL) { forrige = strøm, strøm = strøm -> getLeft ( );} strøm -> setLeft (ny Node (+ + værdi) ), forrige = strøm, strøm = strøm -> getLeft (); cout < <" strøm: " << strøm -> getValue () << " " << "foregående : " << forrige > getValue () < < endl; }} Tree ( int size ) { TreeSize = størrelse , værdi = 0; start = NULL ; forrige = aktuel , newNode = new Node ( værdi) start = newNode , cout << " start: " , << start > getValue ( ) << endl; createTree ( TreeSize );} };
int main () { XXXXXXXXXXXXXXX }
3 < p > Erstat afsnittet mærket " XXXXXXXXXXXXXXX " med dit bruger-input kode. Binært træ input ville generelt anmode om en numerisk variabel , såsom hvor mange " blad " knudepunkter for at starte med, og /eller ender med. Denne kode vil blive kaldt af funktionen , før træet er genereret.
4
Gem koden.