Sesion 10 Listas Enlazadas en Java Borrado de Nodos
Sesion 10 Listas Enlazadas en Java Borrado de Nodos
Sesion 10 Listas Enlazadas en Java Borrado de Nodos
Bienvenido a nuestra octava sesin, donde veremos cmo se eliminar nodos en las listas enlazadas y cmo son los programas de implementacin correspondientes en Java. Comenzamos.
Borrar el Primer nodo: Asigna el enlace del campo siguiente del nodo referenciado por top a top:
top = top.siguiente; // Referencia al segundo Nodo //(o NULL si hay solamente un Nodo)
La siguiente imagen presenta las vistas anterior y posterior de una lista donde se ha borrado el primer nodo. en esta figura, el nodo B desaparece y el nodo A se convierte en el primer nodo. Antes
Despus
Borrar cualquier nodo que no sea el primero: Localiza el nodo que precede al nodo a borrar y le asigna el enlace que hay en el campo siguiente del nodo a borrar al campo siguiente del nodo que le precede. El siguiente pseudocdigo borra el nodo D:
temp = top WHILE temp.nombre IS NOT "A" temp = temp.siguiente END WHILE // Asumimos que temp referencia al Nodo A temp.siguiente = temp.siguiente.siguiente // Nodo D no longer exists
La siguiente figura presenta las vistas anterior y posterior de una lista donde se ha borrado un nodo intermedio. En esa figura el nodo D desaparece.
antes
despus
// // // // //
mostrar ("Despus de eliminar el primer nodo", top); // Regresar nuevamente B al comienzo temp = new Nodo (); temp.nombre = "B"; temp.siguiente = top; top = temp; // 2.Borrar cualquier Nodo menos el primero // En este ejemplo se borra el nodo que // contiene la letra D temp = top; while (temp.nombre.equals ("A") == false) temp = temp.siguiente; temp.siguiente = temp.siguiente.siguiente; mostrar ("Despus de eliminar el nodo D ",top); } static void mostrar(String msg, Nodo topNodo) { System.out.print (msg + " "); while (topNodo != null) { System.out.print (topNodo.nombre + " "); topNodo = topNodo.siguiente; } System.out.println (); } }
A D C
B A C
Esto es todo por ahora. Hemos visto como se borran nodos en las listas enlazadas. Como tarea, debes realizar la tarea que te indico en la sesin correspondiente. Ten en cuenta que en la plataforma moodle le he puesto fecha lmite de entrega que debes respetar para no tener problemas al subir tu archivo. Buena suerte y hasta la siguiente sesin.
(1)
(http://www.programacion.com/java/tutorial/jap_data_alg/4/)