void percursoPre(No **paiRaiz){ if((*paiRaiz) != NULL){ printf("%d ", (*paiRaiz)->numero); percursoPre(&(*paiRaiz)->esq); percursoPre(&(*paiRaiz)->dir); } }
void percursoPre(tNode *raiz) { if(!raiz) return; printf("%d\n", raiz->dado); percursoPre(raiz->fEsq); percursoPre(raiz->fDir); }
int main(){ bool sair = false; int opcaoSelecionada; int valorInserido; No *Arvore = NULL; Arvore = (No*) malloc(sizeof(No)); imprimirOpcoes(); while(!sair){ scanf("%d", &opcaoSelecionada); switch(opcaoSelecionada){ case 0: ; imprimirOpcoes(); break; case 1: ; printf("Digite o valor para Busca Recursiva\n"); scanf("%d",&valorInserido); buscaRecursiva(Arvore, valorInserido); break; case 2: ; printf("Digite o valor para Busca Iterativa\n"); scanf("%d",&valorInserido); buscaIterativa(Arvore, valorInserido); break; case 3: ; printf("Digite o valor para Insercao Iterativa\n"); scanf("%d",&valorInserido); insercaoIterativa(Arvore,valorInserido); break; case 4: ; printf("Digite o valor para Insercao Recursiva\n"); scanf("%d",&valorInserido); insercaoRecursiva(Arvore,valorInserido); break; case 5: ; printf("Digite o valor para Remocao\n"); scanf("%d",&valorInserido); remocao(Arvore,valorInserido); break; case 6: ; percursoPre(Arvore); break; case 7: ; percursoIn(Arvore); break; case 8: ; percursoPos(Arvore); break; case 9: ; free(Arvore); sair = true; break; default: ; printf("Opcao invalida, digite 0 para ver todas as opcoes validas\n\n"); break; } } return 0; }