Java Development Kit (JDK )
Editor de texto o entorno de desarrollo integrado ( IDE )
Ver Más instrucciones
1
Localice el nodo del lista enlazada va a quitar . En este ejemplo, los nodos de la lista doblemente enlazada se representan mediante el elemento " ListItem , " los datos que contiene una cadena ( almacenado como "valor" ) y dos referencias a otras ListItems : una " anterior " a la misma y un "después " en la lista . Los " FindItem " atraviesa la función de la lista hasta encontrar el nodo que contiene el valor de cadena , devolviendo una referencia a ese nodo :
público ListItem FindItem ( palabra String) {
ListItem actual = cabeza actual
retorno; //jefe de la lista de
while ( current.value = palabra! ) {current = current.next } ;}
2
crear el esqueleto de una función para eliminar el nodo . Esta función se llama " FindItem " para localizar el nodo :
public void deleteItem ( palabra String) {
ListItem retirar = FindItem (palabra) ;
}
3
Modificar la función " deleteItem " para unir el nodo anterior al nodo siguiente . Para asegurarse de que la lista doblemente enlazada se mantiene intacta , el nodo anterior debe vincularse con el resto de la lista siguiendo el nodo :
public void deleteItem ( palabra String) {
ListItem retirar = FindItem (palabra) ; removing.previous.after = removing.after ; //el nodo anterior ahora enlaza con el siguiente nodo }
4
Modificar la función " deleteItem " para unir el nodo siguiente a la nodo anterior . Para completar el enlace y mantener la lista como una lista doblemente enlazada , siguiente nodo del nodo eliminado ahora necesita crear un enlace al nodo anterior del nodo eliminado :
public void deleteItem ( palabra String) {
< p > ListItem retirar = FindItem (palabra) ;
removing.previous.after = removing.after ; removing.after.previous = removing.previous //siguiente nodo actualmente conecta al nodo anterior }
5
eliminar el nodo :
public void deleteItem ( palabra String) {
ListItem retirar = FindItem (palabra) ;
removing.previous.after = removing.after ; removing.after.previous = removing.previous ;
retirar = null ;}