Skip to content

Instantly share code, notes, and snippets.

@davidmanueldev
Last active May 22, 2024 03:54
Show Gist options
  • Select an option

  • Save davidmanueldev/abc5c7a6708d7d46e9d9e50400fb2e0e to your computer and use it in GitHub Desktop.

Select an option

Save davidmanueldev/abc5c7a6708d7d46e9d9e50400fb2e0e to your computer and use it in GitHub Desktop.
Ejercicio3
// 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