Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/12/2012, 04:17
strok_777
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 16 años, 7 meses
Puntos: 0
Duda arbol ternario búsqueda (recursividad)

Buenas,

Resulta que he tratado de implementar la destructora de un arbol ternario de búsqueda cuya estructura es la siguiente:

struct node_tst {
char clau;
node_tst* izq;
node_tst* cen;
node_tst* der;
};
node_tst* _raiz;

Dentro de la destructora de la clase, llamo a la función recursiva y le paso la raiz, pero hay algo del algoritmo que falla en algun caso y no consigo que me libere toda la memoria utilizada. La función recursiva es la siguiente:

void r_destructora (node_tst* n){

if (n != NULL){
if (n -> izq != NULL)r_destructora(n -> izq);
else if (n-> cen != NULL)r_destructora(n -> cen);
else if (n-> der != NULL)r_destructora(n -> der);

delete n;
}

}

Si alguien pudiera echarme una mano se lo agradeceria.