jueves, 12 de diciembre de 2019

Secuencias enlazadas. La clase Nodo

Un nodo es una estructura de Java que asocia un dato de una Clase con el enlace o referencia al siguiente nodo.

public class NodoCF{//Dos datos tipo String, una referencia al siguiente NodoCF y un contador, //variable entera de Clase
    String nombre;//Hemos elegido los miembros elegidos por el CF del Psoe, por ser públicos.
    String ciudad;
    NodoCF siguiente;
    static int k;

    public NodoCF(String n,String c){//El primer constructor solo introduce el nombre y la ciudad del //primero de la lista
      this.nombre = n;
      this.ciudad = c;
      this.siguiente = null;//como es el primer nodo construido no hay referencia a otro.
    }

     public NodoCF(String n, String c, NodoCF s){//El segundo constructor permite introducir el //nombre y la ciudad de los siguientes de la lista
      this.nombre = n;
      this.ciudad = c;
      this.siguiente = s;//como ya hay un nodo construido hay referencia a él, 
      //de modo consecutivo se utiliza repetitivamente este constructor.
    }
    
    public String toString(){//Este método permite listarlos, pero en el orden inverso al que se han //introducido
    NodoCF aux = this.siguiente; String st = null; k=1;  
    while(aux!=null){
        st= k+".- "+aux.nombre+" ("+aux.ciudad+")";
        System.out.println(st);
        aux = aux.siguiente;k++;
    } 
    return st;
    }
}


public class ProgramCF{//Programa que construye secuencialmente la lista y los escribe// en pantalla.
   
    public static void main(String[] arg){
       NodoCF sec = new NodoCF("Juan Cornejo López ","Andalucía");
        sec = new NodoCF("Joan Jesús Ros Piles ","Valencia",sec);
        sec = new NodoCF("Sergio Gutiérrez Prieto ","CLM",sec);
        sec = new NodoCF("Marisol Mateos Nogales ","Extremadura",sec);
        sec = new NodoCF("Miguel Ángel Morales Quicios ","Euskadi" ,sec);
        sec = new NodoCF("Ana Sánchez Hernandez ","CyL",sec);
        sec = new NodoCF("Gonzalo Caballero Miguez ","Galicia",sec);
        sec = new NodoCF("Gimena Llamedo González ","Asturias",sec);
        sec = new NodoCF("Carmen Barahona Prol ","Madrid",sec);
        sec = new NodoCF("Mª José Camps Orfila ","Baleares",sec);
        sec = new NodoCF("Sabrina Moh Abdelkader ","Melilla",sec);
        sec = new NodoCF(" ","",sec);
        sec.toString();      
    }
}

En pantalla: (Al revés)

1.- Sabrina Moh Abdelkader  (Melilla)
2.- Mª José Camps Orfila  (Baleares)
3.- Carmen Barahona Prol  (Madrid)
4.- Gimena Llamedo González  (Asturias)
5.- Gonzalo Caballero Miguez  (Galicia)
6.- Ana Sánchez Hernandez  (CyL)
7.- Miguel Ángel Morales Quicios  (Euskadi)
8.- Marisol Mateos Nogales  (Extremadura)
9.- Sergio Gutiérrez Prieto  (CLM)
10.- Joan Jesús Ros Piles  (Valencia)
11.- Juan Cornejo López  (Andalucía)

Esta estructura de filas secuenciales permite manejar infinidad de datos.

No hay comentarios:

Publicar un comentario