// Definición de la clase Nodo para representar cada elemento de la lista class Nodo { int valor; Nodo siguiente; public Nodo(int valor) { this.valor = valor; this.siguiente = null; } } // Definición de la clase ListaSimple para manejar la lista class ListaSimple { private Nodo cabeza; public ListaSimple() { this.cabeza = null; } // Método para agregar un elemento al final de la lista public void agregar(int valor) { Nodo nuevoNodo = new Nodo(valor); if (cabeza == null) { cabeza = nuevoNodo; } else { Nodo actual = cabeza; while (actual.siguiente != null) { actual = actual.siguiente; } actual.siguiente = nuevoNodo; } } // Método para mostrar la lista public void mostrar() { Nodo actual = cabeza; while (actual != null) { System.out.print(actual.valor + " -> "); actual = actual.siguiente; } System.out.println("null"); } // Método para buscar un elemento en la lista public boolean buscar(int valor) { Nodo actual = cabeza; while (actual != null) { if (actual.valor == valor) { return true; } actual = actual.siguiente; } return false; } } // Clase principal para probar la lista simple public class Lista { public static void main(String[] args) { ListaSimple lista = new ListaSimple(); // Agregar elementos a la lista lista.agregar(1); lista.agregar(2); lista.agregar(3); lista.agregar(4); // Mostrar la lista System.out.println("Lista simple:"); lista.mostrar(); // Buscar un elemento en la lista int valorBuscado = 3; if (lista.buscar(valorBuscado)) { System.out.println("Elemento " + valorBuscado + " encontrado en la lista."); } else { System.out.println("Elemento " + valorBuscado + " no encontrado en la lista."); } } }