[ Foro de Pascal ]

Eliminar un elemento repetido de una lista enlazada simple.

20-Oct-2012 06:18
Luis Torres (+12)
2 Respuestas

Un saludo a todos en esta comunidad. Quisiera preguntarles sobre algún algoritmo para eliminar de una lista enlazada simple un elemento que puede o no estar repetido, la lista no está ordenada, así que los elementos repetidos o no pueden estar en cualquier nodo de la lista. Un ejemplo sería, si tengo la lista:
6 4 3 4 2 8 6  3 1,
y quiero eliminar el 6,la lista resultante debe ser:
4 3 4 2 8 3 1
Necesito conocer este algoritmo para solucionar un problema que tengo.
Muchos abrazos.


24-Oct-2012 09:14
oscar gomez

Hola luis, espero te sirva en algo:


"si tienes una lista de enteros y quieres eliminar un número de ella debes ir buscando nodo por nodo hasta encontrar el número y eliminarlo. Como puede estar repetido debes seguir con ese procedimiento hasta el final de la lista.en otras palabras tipo seudocodigo:

  Veo si el número a eliminar es el primer nodo de la lista.
       Si es así lo elimino y como ahora la lista perdió el primer nodo repito el paso anterior para verificar si lo que era el segundo nodo (ahora es el primero) es el número a eliminar.
       Si no es así entonces miro al segundo nodo. Si este contiene el número lo elimino, sino miro al tercer nodo...

   Continúo hasta el final de la lista. "

saludos.


25-Oct-2012 04:48
Luis Torres (+12)

Muy interesante. Suena lógico. Vamos a ver si lo puedo implementar en Pascal.
Muchas gracias por el algoritmo.
Saludos.






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