C/Visual C - Lamado a funciones recursivas (pila del sistema)

 
Vista:

Lamado a funciones recursivas (pila del sistema)

Publicado por rsrobin (31 intervenciones) el 14/12/2001 12:32:19
Bueno de antemano gracias.

Bien como dije anteriormente, tengo una funcion recursiva que tiene que estar ejecutandose en todo momento y esto hace segun me han contestado que por cada llamada a la funcion el sistema utilice memoria de su pila y por ende en un momento determinado ocurra una violacion de segmento de memoria.

Eso me hace entender que la solucion seria que por cada nuevo llamdo a la funcion la primera parte del codigo de la funcion eliminara el anterior llamado a la funcion de la pila del sistema.

Bueno si estoy en lo correcto por favor desigmelo, y si sabeis como es les agradez.

Saludos Rsrobin.

Si estoy en lo correcto y sabes como hacer por favor dimelo

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Lamado a funciones recursivas (pila del sistema

Publicado por fiero (5 intervenciones) el 14/12/2001 14:14:35
Hola
Si necesitas estar llamando contínuamente a la función no debes usar la recursividad. Esta forma sólo se emplea cuando se conoce el límite de llamadas, o una condición para que la recursividad acabe. Imaginate que estás dentro de un pozo, en el fondo encuentras otro pozo y te vuelves a meter, y así sucesivamente, siempre tiene que haber una condición para volver a la superficie (la cuerda con la que bajas no es infinita). Perdona por este ejemplo, me vino a la cabeza sin querer...
Si tienes que llamar a la función continuamente utiliza un bucle, pero no llames a la función desde dentro de si misma.

un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lamado a funciones recursivas (pila del sistema

Publicado por SirKalibur (5 intervenciones) el 20/12/2001 12:17:36
yo me enontré el mismo problema en algoritmos de expansion. En mi caso la solucíon fué el crear una propia pila con memoria dinamica y enlazando las llamadas con listas de punteros hacia los objetos. De todas formas exiten varios algoritmos en los que si tu problema cumple unas condiciones lo puedes sustituir la recursibidad por bucles. Si encuentro alguno te lo mando o te doy referencias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar