Arvore de busc 1204 palavras 5 páginas Exibir mais #include <iostream.h> #include <conio.h> #include <stdio.h> #include <ctype.h> struct no { int num; int bal; no *dir, *esq; }; int altura (no* raiz){ int alt_esq, alt_dir; if(raiz==NULL) return 0; else { alt_esq=altura (raiz->esq); alt_dir=altura (raiz->dir); if(alt_esq>alt_dir) return (1+alt_esq); else return (1+alt_dir); } } int calcula (no *raiz){ if(raiz==NULL) return 0; else return (altura(raiz->esq)-altura(raiz->dir)); } void seta (no *raiz){ if (raiz!=NULL) { raiz->bal=(altura(raiz->esq)-altura(raiz->dir)); seta(raiz->esq); seta(raiz->dir); } } no* rotacao_direita(no *n3){ no *n2=n3->esq; if(n2->dir) n3->esq=n2->dir; else n3->esq=NULL; n2->dir=n3; return n2; } no* rotacao_esquerda(no *n1) { no *n2=n1->dir; if(n2->esq)