Eliminar Un Nodo Intermedio de Una Lista Doblemente Enlazada
-
Upload
eduardo-diaz-diaz -
Category
Documents
-
view
218 -
download
0
Transcript of Eliminar Un Nodo Intermedio de Una Lista Doblemente Enlazada
8/15/2019 Eliminar Un Nodo Intermedio de Una Lista Doblemente Enlazada
http://slidepdf.com/reader/full/eliminar-un-nodo-intermedio-de-una-lista-doblemente-enlazada 1/2
Eliminar un nodo intermedio de una lista doblemente enlazada
De nuevo tenemos los dos casos posibles, que el nodo a borrar esté apuntado por Listao que no. Si lo está, simplemente hacemos que Lista sea Lista->anterior o Lista->siguiente
Se trata de un caso más general de los dos casos anteriores.
Lista doblemente enlazada
1. Si nodo apunta a Lista, hacemos que Lista apunte a Lista->anterior (oLista->siguiente.
!. "acemos que nodo->anterior->siguiente apunte a nodo->siguiente.
#. "acemos que nodo->siguiente->anterior apunte a nodo->anterior.$. %orramos el nodo apuntado por nodo.
Elemento eliminado
public boolean delete(int num)
{
nodo anterior=null;
nodo actual=primero;
while(actual!=ultimo)
{
if(actual.dato==num)
{
if(anterior==null)
{
primero=actual.next;
primero.ant=null;
}
else{
anterior.next=actual.next;
nodo temporal;
temporal=actual.next;
temporal.ant=anterior;
}
return true;
}
8/15/2019 Eliminar Un Nodo Intermedio de Una Lista Doblemente Enlazada
http://slidepdf.com/reader/full/eliminar-un-nodo-intermedio-de-una-lista-doblemente-enlazada 2/2
anterior=actual;
actual=actual.next;
}
if(num==ultimo.dato)
{
ultimo=actual.ant;
return true;
}
return false;
}