Tema: recursividad
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2010, 03:02
polai
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
recursividad

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??