Last active
May 22, 2024 03:54
-
-
Save davidmanueldev/abc5c7a6708d7d46e9d9e50400fb2e0e to your computer and use it in GitHub Desktop.
Ejercicio3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Ejercicios de listas simples | |
| // 3. Eliminar el segundo nodo de la lista, Ejemplo: L(6,7,3,8) => L(6,3,8) | |
| import java.util.Scanner; | |
| // Definición de la clase NodoModificado | |
| class NodoModificado { | |
| int dato; | |
| NodoModificado siguiente; | |
| // Constructor | |
| public NodoModificado(int dato) { | |
| this.dato = dato; | |
| this.siguiente = null; | |
| } | |
| } | |
| // Definición de la clase ListaEnlazadaModificada | |
| class ListaEnlazadaModificada { | |
| NodoModificado inicio; | |
| // Constructor | |
| public ListaEnlazadaModificada() { | |
| inicio = null; | |
| } | |
| // Método para insertar un nodo al final de la lista | |
| public void insertarAlFinal(int dato) { | |
| NodoModificado nuevoNodo = new NodoModificado(dato); | |
| if (inicio == null) { | |
| inicio = nuevoNodo; | |
| } else { | |
| NodoModificado temp = inicio; | |
| while (temp.siguiente != null) { | |
| temp = temp.siguiente; | |
| } | |
| temp.siguiente = nuevoNodo; | |
| } | |
| } | |
| // Método para eliminar el segundo nodo de la lista | |
| public void eliminarSegundoNodo() { | |
| if (inicio == null || inicio.siguiente == null) { | |
| System.out.println("La lista no tiene suficientes nodos para eliminar el segundo nodo."); | |
| return; | |
| } | |
| inicio.siguiente = inicio.siguiente.siguiente; | |
| } | |
| // Método para imprimir la lista | |
| public void imprimirLista() { | |
| NodoModificado temp = inicio; | |
| while (temp != null) { | |
| System.out.print(temp.dato + " "); | |
| temp = temp.siguiente; | |
| } | |
| System.out.println(); | |
| } | |
| } | |
| // Clase principal | |
| public class ejercicio { | |
| public static void main(String[] args) { | |
| ListaEnlazadaModificada lista = new ListaEnlazadaModificada(); | |
| Scanner scanner = new Scanner(System.in); | |
| // Pedir al usuario ingresar los elementos iniciales de la lista | |
| System.out.print("Ingrese el número de elementos iniciales: "); | |
| int n = scanner.nextInt(); | |
| System.out.println("Ingrese los elementos iniciales:"); | |
| for (int i = 0; i < n; i++) { | |
| int elemento = scanner.nextInt(); | |
| lista.insertarAlFinal(elemento); | |
| } | |
| // Mostrar la lista antes de eliminar el segundo nodo | |
| System.out.println("Lista antes de eliminar el segundo nodo:"); | |
| lista.imprimirLista(); | |
| // Eliminar el segundo nodo | |
| lista.eliminarSegundoNodo(); | |
| // Mostrar la lista después de eliminar el segundo nodo | |
| System.out.println("Lista después de eliminar el segundo nodo:"); | |
| lista.imprimirLista(); | |
| scanner.close(); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment