exercicio de ordenação e arvores binarias

287 palavras 2 páginas
Programa que implementa uma árvore binária em c++.

#include
#include
struct arvore
{
int a,m; struct arvore *n,*e,*d;
};

typedef struct arvore no;

no *raiz, *b, *p, *atual, *busca; int cont=0;

void inserir(int num); void pCentral(no *pr); void pPos(no *pr); void pPre(no *pr); void pesquisar(int num);

void inserir(int num) { b=(no*)malloc(sizeof(no)); b->d=NULL; b->e=NULL; b->n=NULL; cont++; b->a=num; if(raiz==NULL) { raiz=b; } else { atual=raiz; while(true) {//inicio da estrutura de repetição if(b->a >= atual->a) { if(atual->d == NULL) { atual->d=b; b->n=atual; break; } else atual=atual->d; } if(b->a < atual->a) { if(atual->e==NULL) { b->n=atual; atual->e=b; break; } else atual=atual->e; } }//fim da estrutura de repetição } } //Pesquisa valores na árvore binária void pesquisar(int num) { if(raiz==NULL) system("pause"); int Vbusca=num; busca=raiz; printf("Percurso da busca: "); while(true) { if(busca==NULL) { printf("Valor nao encontrado!\n"); system("pause"); break; } if(busca->a==Vbusca) { printf("%d\n",busca->a); system("pause"); break; } else { printf("%d ",busca->a); if(Vbusca>busca->a) { busca=busca->d; } else { busca=busca->e; } } } } //Métodos de percurso na árvore binária void pCentral(no *pr) { if(pr!=NULL) { pCentral(pr->e); printf("%d ",pr->a); pCentral(pr->d); } } void pPre(no *pr) { if(pr!=NULL) { printf("%d ",pr->a); pPre(pr->e); pPre(pr->d); } }

//Pós-fixado aqui

Relacionados

  • Aula Uea Final
    906 palavras | 4 páginas
  • atps
    3648 palavras | 15 páginas
  • Estrutura de dados
    536 palavras | 3 páginas
  • Plano De Ensino Classifica O E Pesquisa
    2471 palavras | 10 páginas
  • Computação
    447 palavras | 2 páginas
  • Pesquisa e ordenação
    1512 palavras | 7 páginas
  • Arvore binária
    2159 palavras | 9 páginas
  • Projetos de algoritmos
    42029 palavras | 169 páginas
  • Estrutura de dados
    3285 palavras | 14 páginas
  • Resumo Estrutura de Dados
    3758 palavras | 16 páginas