Arvore binaria de busca - codigo em c

770 palavras 4 páginas
/** * 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){ //verifica se à 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 à direita if(arv->dir==NULL){ //verifica se à direita existe folha arv->dir = criar(conteudo); return arv; } else inserir(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*

Relacionados

  • Arvores binárias
    4463 palavras | 18 páginas
  • Definições Básicas Arvore Binária
    4172 palavras | 17 páginas
  • Arvore biraria
    4645 palavras | 19 páginas
  • Aula24 25 PesquisaArvoreAVL
    2297 palavras | 10 páginas
  • Tecnologia
    2514 palavras | 11 páginas
  • ÁRVORES
    1380 palavras | 6 páginas
  • arvores binarios em java
    4192 palavras | 17 páginas
  • Estrutura de Dados
    1872 palavras | 8 páginas
  • oiioi
    4278 palavras | 18 páginas
  • Árvores binárias
    602 palavras | 3 páginas