#include #include "arvore.h" int main() { int n; NoArvore *arvore1 = arvCria(1, arvCria(2, arvCria(4,arvCriaVazia(),arvCriaVazia()), arvCria(5,arvCriaVazia(),arvCriaVazia())), arvCria(3, arvCriaVazia(), arvCria(6,arvCriaVazia(),arvCriaVazia()))); NoArvore *arvore2 = arvCria(1, arvCria(2, arvCria(4,arvCriaVazia(),arvCriaVazia()), arvCria(5, arvCria(10,arvCriaVazia(),arvCriaVazia()), arvCriaVazia())), arvCria(3, arvCriaVazia(), arvCria(6,arvCriaVazia(),arvCriaVazia()))); /* Imprime a árvore 1 (comeca no nivel 0) */ printf("Arvore 1:\n\n"); arvImprime(arvore1,0); printf("\n"); /* Imprime a árvore 2 (comeca no nivel 0) */ printf("Arvore 2:\n\n"); arvImprime(arvore2,0); printf("\n"); /* Conta nós internos */ n = arvInternos(arvore1); printf("Árvore 1 tem %d nó(s) internos -> %s\n",n,(n == 3)?"SIM":"NAO !!!"); n = arvInternos(arvore2); printf("Árvore 2 tem %d nó(s) internos -> %s\n",n,(n == 4)?"SIM":"NAO !!!"); /* Obtém o maior inteiro armazenado nas árvores */ n = arvMaior(arvore1); printf("Maior inteiro da árvore 1: %d -> %s\n",n,(n == 6)?"SIM":"NAO !!!"); n = arvMaior(arvore2); printf("Maior inteiro da árvore 2: %d -> %s\n",n,(n == 10)?"SIM":"NAO !!!"); /* Testa igualdade de árvores com a mesma árvore: tem que dar certo! */ n = arvIguais(arvore1,arvore1); printf("Árvore tem que ser igual a ela mesma: %s\n",(n != 0)?"OK":"NAO OK!!!"); /* Testa igualdade de árvores com árvores diferentes */ n = arvIguais(arvore1,arvore2); printf("Árvores diferentes: %s\n",(n == 0)?"OK":"NAO OK!!!"); /* Verifica se as arvores tem altura maior que 2 */ n = arvAlturaMaior(arvore1,2); printf("Árvore 1 nao tem altura maior que 2: %s\n",(n == 0)?"OK":"NAO OK!!!"); n = arvAlturaMaior(arvore2,2); printf("Árvore 2 tem altura maior que 2: %s\n",(n != 0)?"OK":"NAO OK!!!"); return 0; }