[ Foro de Pascal ]

lista enlazada...

25-Dec-2012 15:35
oscar gomez
1 Respuestas

cordial saludo profesor Nacho, ante todo desearte feliz navidad y agradecerte las inmensas y valiosas ayudas que nos has aportado al igual que tu disponibilidad altruista y tu tiempo.

profesor queria preguntarte por dos cuestiones que me gustaria en lo posible me detallaras con tu explicacion para poder entenderlo, pues es un tema que no me ha sido amigable, ojala con tu ayuda lo sea.

la primera de ellas es como se debe operar en ejercicios de listas enlazadas simples cuando te preguntan por alguna operacion a realizar pero te piden no destruir la lista original, porejemplo en el caso del ejercicio de dos listas enlazadas las cueles me piden intercalar pero con la salvedad de realizar la intercalacion sobre ellas mismas no realizar la intercalacion en una lista nueva, es como si me pidieran destruyendo las listas originales, ojala puedas ayudarme.

la segunda cuestion es pedirte el favor me orientaras en todo lo que puedas respecto a como se trabajan los ejercicios de listas de listas, que se debe tener en cuenta en este tipo de ejercicios, como operar en estos casos.

mil gracias profesor por acordarte de este espacio que tu generosidad nos brinda.


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

Feliz 2013!  ;-D

En las listas enlazadas, no hay reglas fijas del estilo de "esto siempre se hace así". Por ello, no puedo decirte cómo plantear de una forma general cualquier ejercicio que te propongan.

Sí puedo darte dos consejos que quizá te ayuden (y de paso, respondan a tu segunda pregunta):

1.- Dibuja. La mejor forma de "ver" la solución a un problema de listas enlazadas es... pudiendo "mirar" la lista. Dibuja recuadritos que representen cada elemento de la lista, y piensa cuáles habría que recorrer para resolver un cierto problema.

2.- Si te piden que no uses una lista nueva, tendrás que ver (posiblemente, con la ayuda de esos dibujos) cómo puedes realizar la tarea.

Por ejemplo, para intercarlar dos listas, tendrás que crear una tercera o bien que reutilizar (y modificar) una de ellas. Si tu caso es el de reutilizar, tendrás que pensar cómo introducirías elementos en una lista que ya existe (si es menor que el primero, pasa a ser la nueva cabeza de la lista; si no, debes avanzar hasta encontrar uno mayor o "nil" e insertar en la posición anterior) y aplicar esa idea de forma repetitiva, insertando elementos que vas leyendo desde la segunda lista.






(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.)