[ Foro de Pascal ]
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.
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.
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.)