Ir para conteúdo
Fórum Script Brasil

CristianeRibeiro

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que CristianeRibeiro postou

  1. Marcelo é o seguinte, ele compila e executa mas não aparece o resultado... Acho que a árvore está ficando sempre nula, o que não satisfaz a condição if(arvore != NULL), dentro das funções PreOrdem, EmOrdem e PosOrdem... Bom se você conseguir ver o que é eu agradeço muito, porque já revirei o codigo não sei quantas vezes e ainda não encontrei o erro.
  2. Galera, estou aqui fazendo um trabalho simples de Estrutura de Dados sobre árvore binária de busca... Bom, o código já tá pronto, só que está dando um erro de compilação que com certeza é algum erro que eu deixei passar no código, só que não consigo encontrar.. Quem puder me ajudar, muito obrigada! Código #include <stdio.h> #include <stdlib.h> typedef struct tipo_no{ int item; struct tipo_no *esq; struct tipo_no *dir; }TREE; void Inicializa(TREE **arvore){ *arvore = NULL; } void insere_elemento(TREE **arvore, int item){ TREE *p; p = *arvore; if(*arvore == NULL){ p = (TREE *)malloc(sizeof(TREE)); p->item = item; p->esq = NULL; p->dir = NULL; }else{ if(item < (*arvore)->item) insere_elemento(&p->esq, item); else if(item > p->item) insere_elemento(&p->dir, item); else p->item = item; } } void esvaziar(TREE **arvore){ TREE *p; p = *arvore; esvaziar(&p->esq); esvaziar(&p->dir); free(p); } int max (int a, int b){ return (a>b ? a : b); } int altura (TREE *arvore){ /* TREE *p; p = *arvore;*/ if(arvore == NULL){ return -1; } else{ return 1 + max(altura(arvore->esq), altura(arvore->dir)); } } void PreOrdem (TREE *arvore){ if(arvore != NULL){ printf (" %c", arvore->item); PreOrdem(arvore->esq); PreOrdem(arvore->dir); } } void EmOrdem(TREE *arvore){ if(arvore != NULL){ EmOrdem(arvore->esq); printf (" %c", arvore->item); EmOrdem(arvore->dir); } } void PosOrdem (TREE *arvore){ if(arvore != NULL){ PosOrdem(arvore->esq); PosOrdem(arvore->dir); printf (" %c", arvore->item); } } main() { TREE *T; Inicializa(&T); insere_elemento(&T, 98); insere_elemento(&T, 44); insere_elemento(&T, 11); insere_elemento(&T, 26); insere_elemento(&T, 41); insere_elemento(&T, 59); insere_elemento(&T, 26); insere_elemento(&T, 60); insere_elemento(&T, 71); insere_elemento(&T, 22); insere_elemento(&T, 12); insere_elemento(&T, 30); insere_elemento(&T, 32); insere_elemento(&T, 42); insere_elemento(&T, 51); printf("\nPercurso PreOrdem"); PreOrdem(T); printf("\n\nPercurso Em Ordem"); EmOrdem(T); printf("\n\nPercurso PosOrdem"); PosOrdem(T); printf("\n\nAltura da arvore: %d", altura(T)); } Desde já muito obrigada..
×
×
  • Criar Novo...