Arvore multidirecional

1020 palavras 5 páginas
#include
#include
#include
#define n 4

/*
Geovane Vieira Gomes
Matricula: 200924461
Disciplina: Estrutura de Dados II
Compilador DevC++
Universidade Federal de Roraima – UFRR
*/

struct no {

int chave[n-1]; struct no *pai; struct no *filhos[n]; }; typedef struct no No;

static int nchaves;

int informarValor() { int num; printf("Informe o numero: "); scanf("%d", &num); return num;
}

No* gerano (){ int i; No* arvore = (No*)malloc(sizeof(No)); if (arvore == NULL){ printf ("Nao foi possivel alocar um no'!"); return NULL; } else { arvore->pai = NULL; for(i = 0; i < nchaves; i++) { arvore->chave[i] = 0; } for(i = 0; i < (nchaves+1); i++) { arvore->filhos[i] = NULL; } } return arvore;
}
int busca(int valor, No *arvore) { int i = 0; if(arvore == NULL) return 0; for(i = 0; i < nchaves; i++){ if(valor == arvore->chave[i]) { return 1; } else if(valorchave[i]) { return busca(valor,arvore->filhos[i]); } else { if(i == (nchaves-1)) { //Se chegou no final do vetor return busca(valor, arvore->filhos[i+1]); } } } return 0;
}
void desenharNo(int valor, int espaco) { int i; for (i = 0; i < espaco; i++) printf(" "); printf("%d\n", valor);
}
void desenharArvore(No *arvore, int espaco) { int i; for(i = 0; i < nchaves; i++) { if (arvore

Relacionados

  • Relatório de fotogeologia
    1947 palavras | 8 páginas
  • Resenha - Livro O pensamento sentado
    849 palavras | 4 páginas
  • Epi e epr
    2294 palavras | 10 páginas
  • Clinica de equoterapia
    6116 palavras | 25 páginas
  • Povoamento Inicial Do Continente TANIA LIMA UFRJ MUSEU NACIONAL
    10842 palavras | 44 páginas
  • LINGUA BRASILEIRA DE SINAIS
    19631 palavras | 79 páginas