// Função para calculo da altura int calculaAltura(Apontador p){ if (p == NULL) return -1; int he = calculaAltura(p->Esq); int hd = calculaAltura(p->Dir); if (he < hd) return hd + 1; else return he + 1; }
int calculaAltura(NO *raiz) { if(raiz == NULL) { return 0; } else { return (maior(calculaAltura(raiz->esquerda),calculaAltura(raiz->direita)) + 1); } }
int calculaAltura(tipoNo *raiz){ if(raiz == NULL){ return 0; } else { return (maior(calculaAltura(raiz->noEsquerdo),calculaAltura(raiz->noDireito)) + 1); } }
void imprimirArvore(tipoNo *raiz){ int i, alt = calculaAltura(raiz); char string[alt][N_MAX*7]; for (i = 0; i < alt; i++) sprintf(string[i], "%80s", " "); imprimirArvoreInterno(raiz, 0, 0, 0, alt, string); for (i = 0; i < alt; i++) printf("%s\n", string[i]); }