ELIMINAR UN NODO ESPECÍFICO

 En este último articulo veremos como borrar el nodo que queramos. el procedimiento es igual a los anteriores de nodos.



Creamos un método de tipo public void borrarEspecifico. Este contendrá como argumento una variable entera elemento.

Aquí se crea un if que evalúa que el método estarVacia (evalúa si la lista está vacía) no sea true. 

Luego una doble condición si inicio == fin  y elemento == inicio.dato (puntero inicio y dato de la clase Nodo). Entonces inicio sera igual a fin y este igual a null.

Si no entra alli, entonces elemento == inicio.dato

e inicio pasará al siguiente nodo.

Si no se cumple, el nodo anterior pasará a ser igual a inicio y temporal al siguiente.


Luego crear un while donde evalúe si temporal es diferente de null y el dato que contiene temporal es diferente de elemento. Le asigna a anterior el siguiente y a temporal el siguiente. Entonces va avanzando.


Por último evaluar con un if si temporal es diferente de null, se le asigna al anterior.siguiente el temporal.siguiente.

Y si temporal == fin, fin se le asigna  a anterior.





Agregar la opción al InputDialog que tenemos en la clase main.





Agregamos el case 6 al switch.

En la variable el escribimos Integer.parseInt y dentro un JOptionPane, pero esta vez no será MessageDialog, si no InputDialog, por lo tanto tendremos que ingresar valores nosotros.





Ingresamos los datos,y los mostramos. 

Aquí tenemos tres datos de ejemplo.







Ejecutamos el case 6 del switch.

Se despliega una ventana pidiendo que ingresemos el elemento a borrar.







Luego se despliega el mensaje que eliminamos un elemento y lo indica.







Y este es el resultado.
















Comentarios

Entradas populares de este blog

TIPOS DE DATOS ABSTRACTOS.

MEMORIA DINÁMICA

ELIMINAR UN NODO DEL INICIO