Exemplo n.º 1
0
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) );
   }
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 5
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");
}
Exemplo n.º 6
0
// ------------------------------------------------------------------------------
// 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;
		}
	}
}
Exemplo n.º 7
0
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;
}