2
LISTA ENLAZADA Escribir el pseudocódigo que efectué la búsqueda de un dato y a continuación elimine el dato del nodo anterior en una lista enlazada. Solución: 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 podrás preguntar por el siguiente del siguiente. Lo haremos de manera recursiva. De Esta Forma: EliminarNodo (Lista, búsqueda){ // mandas la lista y la búsqueda Si (Lista.siguiente.siguiente.dato==busqued… // pregunto por el dato del siguiente del siguiente aux=Lista.siguiente; //guardo el nodo siguiente para poder eliminarlo Lista.siguiente=Lista.siguiente.siguie… // reemplazo el siguiente por el siguiente del siguiente eliminar aux; //elimino el nodo; }ELSE EliminarNodo(Lista.siguiente, búsqueda) //vuelvo a llamar a la función con el siguiente-

Lista Enlazada

Embed Size (px)

Citation preview

Page 1: Lista Enlazada

LISTA ENLAZADAEscribir el pseudocódigo que efectué la búsqueda de un dato y a continuación elimine el dato del nodo anterior en una lista enlazada.

Solución:

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 podrás preguntar por el siguiente del siguiente. Lo haremos de manera recursiva.

De Esta Forma:

EliminarNodo (Lista, búsqueda){ // mandas la lista y la búsqueda

Si (Lista.siguiente.siguiente.dato==busqued… // pregunto por el dato del siguiente del siguiente

aux=Lista.siguiente; //guardo el nodo siguiente para poder eliminarlo

Lista.siguiente=Lista.siguiente.siguie… // reemplazo el siguiente por el siguiente del siguiente

eliminar aux; //elimino el nodo;

}ELSE EliminarNodo(Lista.siguiente, búsqueda) //vuelvo a llamar a la función con el siguiente-

Nota:

Guardar el Primer nodo de la lista y comparar cada vez para saber si no dio la vuelta porque si no existe el número en la lista queda dando de vueltas de forma infinita.