Se você está programando em C + + ou C # , você pode ocasionalmente precisa para construir uma árvore binária de forma recursiva. Isso gera nós folha de baixo para cima , algo que a maioria das outras plataformas de codificação não permitem . Se você precisa para construir a árvore de forma recursiva de entrada do usuário de alguma sorte, você pode fazer isso também , mas requer uma seção extra de código. Você só precisa integrar o código de entrada do usuário para os comandos binários diretamente, de modo que o usuário é solicitado a sua contribuição ao executar a função. Instruções
1
Abra o C + + ou C # projeto.
2
Copie o seguinte código onde deseja que a árvore a ser gerado. Este é o principal bloco de construção para uma árvore binária recursiva básica :
classe Tree {private : Nó * começar, Node * newNode ; Node * atual ; Node * anterior; Node tecla * ; Node * keyPrevious ; int treesize , valor int; público : createTree void ( int treesize ) {if ( treesize == 1) {= atuais começar ; anterior = atual ;} else { createTree ( treesize - 1 ), enquanto ( atual -> GetLeft () =! NULL) { anterior = atual ; atual = atual -> GetLeft ();} atual -> SetLeft (new Node ( + + valor ) ); anterior = atual ; atual = atual -> GetLeft (); cout < < " atual :" << atual -> getValue () << " " << " anterior :" << anterior -> getValue () < < endl; }} Tree ( int size ) { treesize = tamanho , valor = 0; start = NULL; anterior = atual ; newNode = new Node ( value); start = newNode ; cout << "start " ; << iniciar -> getValue () << endl; createTree ( treesize );}} ;
int main () { } XXXXXXXXXXXXXXX
3
Substitua a seção marcada " XXXXXXXXXXXXXXX " com o seu código de entrada do usuário. Entrada binária árvore , em geral, solicitar uma variável numérica , como quantas "folha" nós para começar e /ou terminar com . Este código será chamado pela função antes que a árvore é gerada.
4
Salve o código .