Arvore binaria de busca - codigo em c

Páginas: 4 (770 palavras) Publicado: 3 de julho de 2012
/**
* Implementacao do TAD Arvore Binaria de Busca
* (c) 2012 by Aluno: Francisco de Araujo Costa - SI1111008-21.
* AED I - IFMA, Monte Castelo, Sao Luis, MA.
*/

#include
#include#include "ArvoreBinaria.h"


struct arvBinariaDeBusca
{
float info;
struct arvBinariaDeBusca* esq;
struct arvBinariaDeBusca* dir;
};



ABB* criar(float conteudo){
ABB *arv = (ABB*)malloc(sizeof(ABB));
arv->info = conteudo;
arv->esq = NULL;
arv->dir = NULL;
return arv;
}


ABB* inserir(ABB* arv, float conteudo){if(arv!=NULL){ // testa se a árvore já existe
if(conteudo < infoRaiz(arv)){ //se o conteudo é menor que o da raiz atual, inserção à esquerda
if(arv->esq==NULL){ //verificase à esquerda existe folha
arv->esq = criar(conteudo);
return arv;
}
else
inserir(arv->esq,conteudo);//em existindo folha, chama recursivamente à esquerda
}
else if (conteudo > infoRaiz(arv)){ //se o conteúdo é maior que o da raiz atual, inserção à direitaif(arv->dir==NULL){ //verifica se à direita existe folha
arv->dir = criar(conteudo);
return arv;
}
elseinserir(arv->dir, conteudo);//em existindo folha, chama recursivamente à direita
}
}
else{
return NULL; //retorna NULL caso a árvore não exista
}
}int contem(ABB* arv, float conteudo){
if(arv==NULL) return CHAVE_NAO_ENCONTRADA;
if(arv!=NULL){
if(conteudo < infoRaiz(arv))
contem(arv->esq, conteudo);else if(conteudo > infoRaiz(arv))
contem(arv->dir, conteudo);
else if(infoRaiz(arv)==conteudo) return SUCESSO;
}
}


float infoRaiz(ABB*...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Árvore de Busca Binária em C
  • arvore binaria de busca
  • Árvore binária de busca
  • Tad arvore binária de busca
  • Arvore Binária de busca
  • Arvore binária de busca com preferencia
  • REMOÇÃO EM ARVORE BINÁRIA DE BUSCA
  • Arvore binaria em c

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!