Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/09/2008, 13:10
Avatar de antoniog
antoniog
 
Fecha de Ingreso: junio-2006
Mensajes: 118
Antigüedad: 17 años, 11 meses
Puntos: 4
Respuesta: Salir de una Funcion Recursiva

Hola,

Pues segun yo no existe. Lo que podrias hacer es regresar un valor que indique a la funcion que la llamo que no siga recorriendo los contenedres, y que a su vez se lo indique a la funcion que la llamo, y asi sucesivamente, mas o menos asi:

Código:
int funcion_recursiva(contenedor)
{
int val=0;
if(encontre lo que buscaba en el contenedro)
   {
   val=1;
   }
else
   {
   if mas contenedores
      {
      por cada contenedor hijo hace
         if(funcion_recursiva(contenedor_hijo))
              {
               val=1;
                break;
                }
      }
   }
return(val);
}
Aunque si estas haciendo un recorrido de algo como un [arbol, igual y lo podrias hacer con una pila. En la pila vas guardando los contenedores que faltan por visitar.
1- Sacas un contenedor de la pila, si encuentras lo que buscabas, pues ya terminas y eliminas la pila.
2- Si no, pues ves si tiene mas contenedores hijos y los agregas a la pila, y regresas al paso 1.

Saludos
__________________
Mis pininos en blogs: prog en C, cursos

Última edición por antoniog; 25/10/2009 a las 13:23