You are on page 1of 2

LISTA ENLAZADA

Escribir el pseudocdigo que efectu la bsqueda de un dato y a continuacin elimine el


dato del nodo anterior en una lista enlazada.
Solucin:
Como te piden eliminar el dato anterior, conviene recorrer la lista preguntando por el dato
del nodo siguiente al siguiente para cuando lo encuentres ya poder eliminar el nodo
siguiente sin perder el puntero. Como es una lista enlazada nunca va a haber un null as
que podrs preguntar por el siguiente del siguiente. !o haremos de manera recursiva.
De Esta Forma:
Eliminar"odo #!ista, bsqueda$% // mandas la lista y la bsqueda
&i #!ista.siguiente.siguiente.dato''busqued( // pregunto por el dato del siguiente del
siguiente
au)'!ista.siguiente* //guardo el nodo siguiente para poder eliminarlo
!ista.siguiente'!ista.siguiente.siguie( // reemplazo el siguiente por el siguiente del
siguiente
eliminar au)* //elimino el nodo;
+E!&E Eliminar"odo#!ista.siguiente, bsqueda$ //vuelvo a llamar a la funcin con el
siguiente-
,uardar el -rimer nodo de la lista y comparar cada vez para saber si no dio la vuelta
porque si no e)iste el nmero en la lista queda dando de vueltas de forma infinita.

You might also like