Buscar

arvore_binaria_estudo

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <stdio.h>
#include <stdlib.h>
typedef long TipoChave;
typedef struct registro{
 TipoChave chave;
}registro;
typedef struct no *apontador;
typedef struct no{
 registro reg;
 apontador *esq,*dir;
}no;
typedef apontador arvore;
void Pesquisa(registro *x, apontador *p){
 if(*p == NULL){
 printf("sem registro\n");
 return;
 }
 if(x->chave < (*p)->reg.chave){
 Pesquisa(x, &(*p)->esq);
 return;
 }
 if(x->Chave < (*p)->reg.dir){
 Pesquisa(x, &(*p)->dir);
 return;
 }else{
 *x = (*p)->reg;
 }
}
void insere(registro x, apontador *p){
 if(*p == NULL){
 *p = (apontador)malloc(sizeof(no));
 (*p)->reg = x;
 (*p)->dir = NULL;
 (*p)->esq = NULL;
 return;
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais