Documentos de Académico
Documentos de Profesional
Documentos de Cultura
56456451
56456451
class Arbol{
private:
class Nodo {
public:
int dato;
Nodo *izquierdo;
Nodo *derecho;
};
Nodo *raiz;
Nodo *actual;
int contador;
int altura;
public:
private:
void auxContador(Nodo*);
};
actual = raiz;
padre = actual;
if(!Vacio(actual)) return;
}
void Arbol::InOrden(void (*func)(int&) , Nodo *nodo, bool r)
func(nodo->dato);
func(nodo->dato);
func(nodo->dato);
actual = raiz;
while(!Vacio(actual)) {
return false;
int altura = 0;
actual = raiz;
while(!Vacio(actual)) {
else {
altura++;
return -1;
contador = 0;
auxContador(raiz);
return contador;
}
void Arbol::auxContador(Nodo *nodo)
contador++;
if(nodo->izquierdo) auxContador(nodo->izquierdo);
if(nodo->derecho) auxContador(nodo->derecho);
altura = 0;
auxAltura(raiz, 0);
return altura;
int main()
Arbol ArbolInt;
ArbolInt.Insertar(10);
ArbolInt.Insertar(5);
ArbolInt.Insertar(12);
ArbolInt.Insertar(4);
ArbolInt.Insertar(7);
ArbolInt.Insertar(3);
ArbolInt.Insertar(6);
ArbolInt.Insertar(9);
ArbolInt.Insertar(8);
ArbolInt.Insertar(11);
ArbolInt.Insertar(14);
ArbolInt.Insertar(13);
ArbolInt.Insertar(2);
ArbolInt.Insertar(1);
ArbolInt.Insertar(15);
ArbolInt.Insertar(10);
ArbolInt.Insertar(17);
ArbolInt.Insertar(18);
ArbolInt.Insertar(16);
ArbolInt.InOrden(Mostrar);
ArbolInt.PreOrden(Mostrar);
cin.get();
return 0;