/*
Este ejemplo implementa una lista enlazada en Java, incluyendo la clase
para el nodo y la clase para la lista enlazada que gestiona los nodos.
*/
// Define la estructura de un nodo individual dentro de la lista enlazada.
class Nodo {
int dato; // Campo para almacenar el dato entero del nodo.
Nodo siguiente; // Campo para el enlace al siguiente nodo en la lista.
// Constructor de Nodo que inicializa el nodo con un dato y establece el siguiente a null.
Nodo(int dato) {
this.dato = dato; // Asigna el dato proporcionado al campo 'dato'.
this.siguiente = null; // Inicializa el enlace 'siguiente' a null.
}
}
// Gestiona las operaciones de la lista enlazada, incluyendo la inserción de nodos y su visualización.
class ListaEnlazada {
Nodo cabeza; // Puntero al primer nodo de la lista.
// Constructor de ListaEnlazada que inicializa la cabeza de la lista a null.
ListaEnlazada() {
cabeza = null; // Inicializa la cabeza de la lista a null.
}
// Agrega un nodo al inicio de la lista con el dato proporcionado.
void agregarAlInicio(int dato) {
Nodo nuevoNodo = new Nodo(dato); // Crea un nuevo nodo con el dato.
nuevoNodo.siguiente = cabeza; // Establece el siguiente del nuevo nodo a la cabeza actual.
cabeza = nuevoNodo; // Actualiza la cabeza para apuntar al nuevo nodo.
}
// Imprime todos los nodos de la lista desde la cabeza hasta el final.
void imprimirLista() {
Nodo temporal = cabeza; // Comienza desde la cabeza de la lista.
while (temporal != null) { // Itera mientras haya nodos en la lista.
System.out.print(temporal.dato + " -> "); // Imprime el dato del nodo actual.
temporal = temporal.siguiente; // Avanza al siguiente nodo.
}
System.out.println("NULL"); // Imprime 'NULL' al final para indicar el fin de la lista.
}
}
// Clase principal que demuestra la creación y manipulación de una lista enlazada.
public class Main {
public static void main(String[] args) {
ListaEnlazada lista = new ListaEnlazada(); // Crea una instancia de ListaEnlazada.
// Agrega varios elementos al inicio de la lista.
lista.agregarAlInicio(10); // Agrega el número 10 al inicio de la lista.
lista.agregarAlInicio(20); // Agrega el número 20 al inicio de la lista.
lista.agregarAlInicio(30); // Agrega el número 30 al inicio de la lista.
// Imprime la lista para mostrar su contenido.
lista.imprimirLista(); // Imprime todos los nodos de la lista.
}
}
To embed this program on your website, copy the following code and paste it into your website's HTML: