Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Class ListaLink.java
- * Representa la implementación parcial de una lista enlazada simple en la que
- * se tiene acceso directo al primer elemento y también al último.
- * @author Juan José Martínez Solano 01/03/2020
- */
- public class ListaLink {
- public static void main(String[] Args) {
- ListaLink lista = new ListaLink();
- // Introducción de objetos del atributo 'dato' a 'ListaLink'.
- lista.add("Hola.");
- lista.add("Hola de nuevo.");
- lista.add(69);
- lista.add("Miau#0");
- lista.add(2);
- lista.add('F');
- lista.mostrarLista();
- System.out.println("\nLa lista contiene " + lista.cantElementos() + " elementos.");
- }
- /**
- * La clase Nodo está anidada y representa la estructura de un elemento de
- * la lista enlazada simple.
- */
- class Nodo {
- //Atributos
- Object dato;
- Nodo siguiente; // Puntero que contendrá la dirección del siguiente nodo.
- /**
- * Constructor que inicializa atributos al valor por defecto.
- * @param primero
- */
- public Nodo(Object d, Nodo sig) {
- // Cada vez que se cree un nuevo objeto de la clase Nodo, se creará un nuevo nodo.
- dato = d;
- siguiente = sig;
- }
- } //class Nodo
- //Atributos ListaLink
- private Nodo primero, ultimo; // Punteros, para acceder al inicio y al fin de la lista.
- private int numElementos;
- /**
- * Constructor que inicializa los atributos al valor por defecto.
- */
- public ListaLink() {
- primero = null;
- ultimo = null;
- numElementos = 0;
- }
- private boolean listaVacia() {
- return primero == null;
- }
- public void add (Object d) {
- // Si no hay ningún dato inicializado en la lista, se le asigna a la variable 'primero' el contenido del objeto 'd' (dato).
- if (listaVacia()) {
- primero = new Nodo(d, primero);
- ultimo = primero;
- } else {
- // Al introducir un nuevo dato que no sea el primero, inicio apunta al nuevo objeto introducido.
- primero = new Nodo(d, primero);
- }
- numElementos++;
- }
- private void mostrarLista() {
- Nodo aux = primero;
- while (aux != null) {
- System.out.print("[" + aux.dato + "]--->");
- aux = aux.siguiente;
- }
- }
- private int cantElementos() {
- return numElementos;
- }
- } //class listaLink
Advertisement
Add Comment
Please, Sign In to add comment