#include #include #include #include "mapa.h" struct smapa { int chave; int dados; Mapa* esq; Mapa* dir; }; Mapa* cria (void) { return NULL; } static Mapa *cria_no (int c, int d) { Mapa *nn = (Mapa *)malloc(sizeof(Mapa)); if (nn!=NULL) { nn->esq = nn->dir = NULL; nn->chave =c; nn->dados = d; } return nn; } Mapa *insere (Mapa *m, int chave, int d) { /* fazer --- implementação ERRADA */ return cria_no (chave, d); } int busca (Mapa *m, int chave) { while (m!=NULL) { if (chave < m->chave) m = m->esq; else if (chave > m->chave) m = m->dir; else return m->dados; /* achou */ } return INT_MIN; } void percorre (Mapa* m, funcp f) { /* depois discutiremos */ } void destroi (Mapa *m) { if (m==NULL) return; destroi (m->esq); destroi (m->dir); free(m); } int altura (Mapa *m) { /* fazer */ return 0; } void mostra (Mapa *m) { printf ("("); /* fazer */ printf (")"); }