Arvore

526 palavras 3 páginas
#include
#include
#include

/*
Programa para manipula��o de um arquivo (Modo BINARIO), contendo dados de um dicion�rio de palavras e criando uma arvore bin�ria para a manipula��o de palavras e significados correspondentes.
*/

FILE *arquivo;

typedef struct vocabulo{ char palavra[40]; char cg[10]; char def[100];
}VOCAB;

typedef struct nodo{ VOCAB e; struct nodo *esq; struct nodo *dir;
} NO; typedef NO *ARV;

// Fun��o para criar uma nova arvore
ARV nova_arv()
{
return NULL;
}

int EMPTY (ARV a)
{ return (a == NULL);}

// Fun��o para inserir um novo elemento 'b' na arvore 'a'
ARV insere (ARV a, VOCAB b)
{ ARV nova; if (EMPTY(a)) { nova = (ARV) malloc (sizeof(NO)); nova->esq = NULL; nova->dir = NULL; nova->e = b; return nova; } else { if ( strcmp(a->e.palavra,b.palavra) < 0 ) a->dir = insere(a->dir, b); else a->esq = insere(a->esq, b); /* Repeticoes sao inseridas na esquerda! */ return a; }
}

// Fun��o para procurar um elemento numa arvore
ARV procura (ARV a , char *b)
{
VOCAB c; if (EMPTY(a)) return NULL; else if ( strcmp(a->e.palavra,b) == 0 ) return a; else if ( strcmp(a->e.palavra,b) < 0 ) return procura (a->dir, b); else return procura (a->esq, b);
}

//Fun��o para percorrer a �rvore respeitando o crit�rio EM ORDEM void inOrder (ARV a)
{
if (! EMPTY(a) ) { inOrder(a->esq); printf("\n%s: %s, %s ", a->e.palavra,a->e.cg,a->e.def); inOrder(a->dir); }
}

//Fun��o para buscar uma palavra na �rvore
ARV busca (char termo[], ARV a)
{
ARV b; b = a; while (!EMPTY(b)){ if (strcmp(b->e.palavra, termo) == 0) return b; else if (strcmp(b->e.palavra,termo) > 0) b = b->esq; else b = b->dir; } return NULL;
}

//Fun��o para inser��o de novos vocabulos

Relacionados

  • arvore
    2560 palavras | 11 páginas
  • Arvore
    1402 palavras | 6 páginas
  • A arvore
    393 palavras | 2 páginas
  • arvore
    2861 palavras | 12 páginas
  • Arvore
    453 palavras | 2 páginas
  • Arvore
    1760 palavras | 8 páginas
  • árvore
    284 palavras | 2 páginas
  • Arvore
    893 palavras | 4 páginas
  • arvore
    822 palavras | 4 páginas
  • Arvore
    806 palavras | 4 páginas