Enviado em 11/04/2012 - 22:39h
Pessoal tudo bem ?
typedef long TipoChave;
typedef struct Registro {
TipoChave Chave;
/* outros componentes */
} Registro;
typedef struct No * Apontador;
typedef struct No {
Registro Reg;
Apontador Esq, Dir;
} No;
typedef Apontador TipoDicionario; //Estrutura que representa a árvore
void Pesquisa(Registro *x, Apontador *p)
{ if (*p == NULL)
{ printf("Erro : Registro não esta presente na arvore\n");
return;
}
if (x->Chave < (*p)->Reg.Chave)
{ Pesquisa(x, &(*p)->Esq);
return;
}
if (x->Chave > (*p)->Reg.Chave)
Pesquisa(x, &(*p)->Dir);
else
*x = (*p)->Reg;
}
void Insere(Registro x, Apontador *p)
{ if (*p == NULL)
{ *p = (Apontador)malloc(sizeof(No));
(*p)->Reg = x; (*p)->Esq = NULL; (*p)->Dir = NULL;
return;
}
if (x.Chave < (*p)->Reg.Chave)
{ Insere(x, &(*p)->Esq); return; }
if (x.Chave > (*p)->Reg.Chave)
Insere(x, &(*p)->Dir);
else
printf("Erro : Registro ja existe na arvore\n");
}
for (i = 0; i < max; i++)
{ x.Chave = vetor[i]; //vetor [i] é a chave aleatória que é gerada por outra função
Insere(x, &Dicionario); //Chama função e passa a chave e a árvore parar inserir
printf("Inseriu chave: %d\n", x.Chave);
}
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Erro na atualização dos pacotes (5)
Cliente para Celular Spark (3)
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (3)