Accede a todo EDteam con un único pago¡Sube a premium!

Victor Ruiz Garcia@victorruiz946

Cuando estudie listas en la universidad desde un principio nos enseñaron a hacer las cosas bien y por tanto solo se hizo 1 metodo para agregar nodos a la lista por tanto creo que deberian tener ese enfoque, si es dificil lo se pero sino empezamos bien desde el inicio despues tendremos problemas. Aqui dejo un ejemplo de como deberian quedar los metodos.

Class Nodo { int dato; Nodo siguiente;

public Nodo(int dato) {
    this.dato = dato;
    this.siguiente = null;
}

}

class ListaEnlazada { private Nodo primero;

public ListaEnlazada() {
    this.primero = null;
}

// Método para agregar un nuevo nodo al final de la lista
public void agregar(int dato) {
    Nodo nuevoNodo = new Nodo(dato);
    if (primero == null) {
        primero = nuevoNodo;
    } else {
        Nodo actual = primero;
        while (actual.siguiente != null) {
            actual = actual.siguiente;
        }
        actual.siguiente = nuevoNodo;
    }
}

// Método para eliminar un nodo con un valor específico
public void eliminar(int dato) {
    if (primero == null) {
        return;
    }

    if (primero.dato == dato) {
        primero = primero.siguiente;
        return;
    }

    Nodo actual = primero;
    while (actual.siguiente != null && actual.siguiente.dato != dato) {
        actual = actual.siguiente;
    }

    if (actual.siguiente != null) {
        actual.siguiente = actual.siguiente.siguiente;
    }
}

// Método para buscar un nodo con un valor específico
public boolean buscar(int dato) {
    Nodo actual = primero;
    while (actual != null) {
        if (actual.dato == dato) {
            return true;
        }
        actual = actual.siguiente;
    }
    return false;
}

// Método para mostrar todos los nodos en la lista
public void mostrar() {
    Nodo actual = primero;
    while (actual != null) {
        System.out.print(actual.dato + " ");
        actual = actual.siguiente;
    }
    System.out.println();
}

}

public class Main { public static void main(String[] args) { ListaEnlazada lista = new ListaEnlazada();

    lista.agregar(1);
    lista.agregar(2);
    lista.agregar(3);
    lista.agregar(4);

    System.out.println("Lista inicial:");
    lista.mostrar();

    lista.eliminar(2);
    System.out.println("Lista después de eliminar el nodo con valor 2:");
    lista.mostrar();

    System.out.println("¿El valor 3 está en la lista? " + lista.buscar(3));
    System.out.println("¿El valor 5 está en la lista? " + lista.buscar(5));
}

}


Escribe una respuesta

Pregunta a ChatEDT