[ Foro de Pascal ]

posicion en una lista enlazada...

27-Dec-2012 17:21
oscar gomez
2 Respuestas

Cordial saludo profesor Nacho.
Ante todo agradecerte tu atencion y ayuda que siempre nos brindas.
Profesor en este mensaje queria pedirte el favor me orientes en como se puede obtener en una lista enlazada simple de enteros una posicion de partida deseada por el usuario, agradeceria cualquier ayuda que me permita llegar a la solucion.

ejemplo:
sea la lista: 1 2 9 14 5 6 7 8 9
posicion de partida:3

como obtengo en una lista enlazada como en el ejemplo, dicha posicion que en este caso contendria el valor 9 en la posicion 3 de la lista dad.

mil gracias por toda la ayuda que puedas ofrecerme.
Felices fiestas profesor.


03-Jan-2013 16:47
Nacho Cabanes (+83)

No entiendo la pregunta. No sé si te refieres a encontrar qué valor existe en una cierta posición (por ejemplo la tercera) de una lista, o bien a comenzar la búsqueda por contenido a partir de una cierta posición.

En cualquier caso, en una lista convencional, la única forma de acceder es a partir de la "cabeza", y leyendo un elemento cada vez, de modo que, en cualquiera de los dos casos anteriores, si quieres llegar hasta la tercera posición, bien sea para mostrarla o para comenzar una búsqueda a partir de ella, tendrás que "saltar 3 posiciones". Lo puedes hacer con un contador, usando (por ejemplo) un "for":

posicionEnPila = cabeza
para posicionNumerica = 1 hasta n
 si posicionEnPila <> nil entonces
   posicionEnPila = posicionEnPila.siguiente


03-Jan-2013 17:09
oscar gomez

Mil gracias profesor por responderme, te agradezco el esfuerzo brillante que haces para poder ayudarnos y orientarnos, tendre muy en cuenta tus ideas y sugerencias nos ayudas muchisimo, no sabes cuanto y particularmente valoro cualquier explicacion que venga de ti, gracias profesor.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)