Buenas,
a ver si esta vez tengo mas suerte y alguien me contesta.
Estoy recorriendo un arbol para ir actualizando uno de sus parámetros. es una lista. Quiero devolverle finalmente al nodo raiz la lista actualizada, pero a partir de la segunda generación, cuando ya no son hijos directos no funciona, que debería devolver la función y donde?
El código es el siguiente
void G::Netlist(int n)
{
for (int i=1; i < n+1; i++) //busco el nodo, una vez encontrado hago.
{
if (number==i) //busco el nodo del arbol
this->Netlist3(i); //el que tenga number i
else
this->Netlist2(i);
}
}
void G::Netlist2(int i) //coger cada nodo en orden e ir haciendo
{
LISTA lista;
lista=this->lista;
G* current;
for (int n=0; n<containerSize(); n++)
if ((current=NthChild (n)))
if (current->number==i)
{
current->lista=lista;
current->Netlist3(i);
this->lista =current->lista; break;
}
else
current->Netlist2(it); //si no es el que buscamos seguimos buscando
//this->lista =current->lista;
}
Los nodos del arbol son G, los voy recorriendo
La primera función me busca los nodos en el orden que quiero, la segunda los encuentra y llama a Netlist3 donde se haran los cambios a lista, lo que quiero es ir acutalizando lista conforme recorremos el arbol y que al final sea devuelto en el primer nodo.
A ver si alguien me puede ayudar,
Muchiiisimas gracias.
Por cierto, como se inserta el código en ese formato q poneis??