#include #include #include #include "mapa.h" #include "arvore.h" int dados (int chave) { /* inventa dados associados a uma chave */ return 2*chave; } Mapa* preenche (Mapa* m, int inicio, int fim) { int meio; if (inicio>fim) return m; meio = (fim+inicio)/2; m = insere (m, meio, dados(meio)); m = preenche (m, inicio, meio-1); m = preenche (m, meio+1, fim); return m; } int main (int argc, char** argv) { int i, res, tammapa; if (argc!=2) { printf ("uso do programa: %s \n", argv[0]); exit(0); } tammapa = atoi(argv[1]); Mapa *meumapa = cria(); Mapa *outromapa = cria(); for (i=0;i=0; i--) { printf("retirando (em outra ordem) %d de outromapa: ", i); outromapa = retira (outromapa, i); mostra(outromapa); } printf("constroi outro mapa de novo ------------ \n"); outromapa = preenche (outromapa, 0, tammapa-1); printf("testa e_abb\n"); printf("deve ser:\n"); mostra(outromapa); printf ("outromapa e' abb? %s\n", (e_abb(outromapa)?"sim":"não")); outromapa = debug_troca_chave (outromapa, tammapa/2, -3); printf("nao deve ser:\n"); mostra(outromapa); printf ("outromapa e' abb? %s\n", (e_abb(outromapa)?"sim":"não")); */ destroi(meumapa); destroi(outromapa); return 0;}