estudante

347 palavras 2 páginas
#include
#include

struct arvore
{
int dado; struct arvore* direita; struct arvore* esquerda;
};

typedef struct arvore t_arvore;
///prototipos de funcoes t_arvore* criaNoh(int valor); t_arvore* criaArvore(); int verificaArvoreVazia(t_arvore* arvore); void insereNohArvore(t_arvore** arvore, t_arvore* noh); void listaPreOrdem(t_arvore* arvore); void listaEmOrdem(t_arvore* arvore); void listaPosOrdem(t_arvore* arvore); t_arvore* localizaNoh(t_arvore* arvore, int chave); int calcularAltura(t_arvore* arvore); int menu();

int main()
{
t_arvore *nohRaiz = criaArvore(); int dado;

while(1)
{
switch(menu()) { case 1: printf("Dado...:"); scanf("%d", &dado); insereNohArvore(&nohRaiz, criaNoh(dado)); break;

case 2: listaEmOrdem(nohRaiz); break; case 3: listaPreOrdem(nohRaiz); break; case 4: listaPosOrdem(nohRaiz); break; case 5: printf("Valor a localicar:"); scanf("%d", &dado); if(localizaNoh(nohRaiz, dado)) printf("Valor encontrado\n"); else printf("Valor nao encontrado\n"); break; case 0: exit(0); }
}

return 0;
}

t_arvore* criaNoh(int valor) { t_arvore* noh = (t_arvore*)malloc(sizeof(t_arvore)); noh->dado = valor; noh->direita = NULL; noh->esquerda = NULL; return noh; }

t_arvore* criaArvore()
{
return NULL;
}

int verificaArvoreVazia(t_arvore* arvore)
{
if(!arvore) return 1; ///vazia

return 0; ///nao vazia
}

void insereNohArvore(t_arvore** arvore, t_arvore* noh)
{
if(*arvore == NULL) (*arvore) = noh;

if(noh->dado > (*arvore)->dado) insereNohArvore(&(*arvore)->direita, noh);

else if(noh -> dado < (*arvore)->dado) insereNohArvore(&(*arvore)->esquerda, noh);

}

void

Relacionados

  • Estudante
    4061 palavras | 17 páginas
  • Estudante
    5203 palavras | 21 páginas
  • estudante
    1826 palavras | 8 páginas
  • Estudante
    1976 palavras | 8 páginas
  • estudante
    4108 palavras | 17 páginas
  • Estudante
    4793 palavras | 20 páginas
  • estudantes
    7348 palavras | 30 páginas
  • estudante
    16461 palavras | 66 páginas
  • estudante
    1462 palavras | 6 páginas
  • Estudante
    1075 palavras | 5 páginas