Implementación de Árboles Binarios AVL
Recorridos del Árbol
A continuación, se presentan las funciones para realizar recorridos en un árbol AVL, aplicando una función func con el prototipo: template<class DATO> void func(DATO&);.
Inorden
template<class DATO>
void AVL<DATO>::InOrden(void (*func)(DATO&, int), Nodo<DATO> *nodo, bool r)
{
if(r) nodo = raiz;
if(nodo->izquierdo) InOrden(func, nodo->izquierdo, false);
func(nodo->dato, nodo->FE);
if(nodo->derecho) InOrden(func, nodo->derecho, false);
}
Preorden
template<class DATO>
void AVL<DATO>::PreOrden(void (*func)(DATO&, int), Nodo<DATO> *nodo, bool r)
{
if(r) nodo = raiz;
func(nodo->dato, nodo->FE)
...