void pre_ordem(NoABP *n, void (*mostra_info)(void *) ){ if(n != NULL){ (*mostra_info)(n->info); pre_ordem(n->esq, (*mostra_info) ); pre_ordem(n->dir, (*mostra_info) ); } }
void pre_ordem(tree * figueira, nodo * temp){ if (temp != NULL){ display(temp); pre_ordem(figueira, temp->esq); pre_ordem(figueira, temp->dir); } }
void pre_ordem(tree *root){ if(root==NULL){ // printf("NULL\n"); return; } //printf("Pre_Ordem\n"); printf("%c\n",root->val); pre_ordem(root->left); pre_ordem(root->right); //printf("\n"); // printf("\n"); }
/////////////////////////////////////////////////////////////MAIN int main(){ int i,j,k,num; char formula[101]; while(1){ head = (lista*)calloc(1,sizeof(lista)); tail = (lista*)calloc(1,sizeof(lista)); head->next = tail; tail->back = head; raiz = NULL; scanf(" %s",formula); num = strlen(formula); if(verificar_parenteses(formula,num)==1){ elemento_central(&raiz,formula,0,num-1); printf("---------ROOT-----------\n"); pre_ordem(raiz); printf("---------ROOT-----------\n"); printf("Expressao bem-formada\n"); } else{ printf("Expressao mal-formada\n"); } free(head); free(tail); } return 0; }
void percurso_pre_ordem(ABP a, void (*mostra_info)(void *) ){ if(a.raiz == NULL) printf("Arvore vazia!\n"); else{ printf("Percurso em Pre-Ordem:\n\n"); pre_ordem(a.raiz, (*mostra_info) ); } printf("----------------------\n\n"); }
// ------------------------------------------------------------------------------ // Funcao main // ------------------------------------------------------------------------------ int main() { tree * figueira; int escolha; figueira = init(); for ( ; ; ){ escolha = menu(); switch(escolha){ case 1:inserir(figueira); break; case 2: excluir(figueira); break; case 3: pesquisar(figueira); break; case 4: h(figueira); break; case 5: { printf("\n"); printf("5. Em ordem\n"); printf("------------------------\n"); em_ordem(figueira, figueira->raiz); printf("\n"); } break; case 6: { printf("\n"); printf("6. Pre ordem\n"); printf("------------------------\n"); pre_ordem(figueira, figueira->raiz); printf("\n"); } break; case 7: { printf("\n"); printf("7. Pos ordem\n"); printf("------------------------\n"); pos_ordem(figueira, figueira->raiz); printf("\n"); } break; case 8: exit(0); break; } } }
int main() { arvore* a = alocar_arvore(); inserir_arvore(a,5); inserir_arvore(a,9); inserir_arvore(a,3); inserir_arvore(a,2); inserir_arvore(a,4); inserir_arvore(a,6); inserir_arvore(a,7); inserir_arvore(a,8); inserir_arvore(a,1); pos_ordem(a->raiz); printf("\n"); in_ordem(a->raiz); printf("\n"); pre_ordem(a->raiz); printf("\n"); return 0; }