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.