Colas Cola es el tipo para declarar colas.
Una cola es una lista abierta. Debido al funcionamiento de las colas,debemos mantener un puntero para el último elemento de la cola(REAR o FINAL),que será el punto donde insertemos nuevos nodos.
Para eliminar un nodo se necesita la referencia al Primero(FRONT o Frente).
Clase Nodo public class Nodo { private int dato; private Nodo ps; public Nodo(int d){ dato=d; this.ps=null; } public int getDato() { return dato; } public void setDato(int d) { dato = dato; } public Nodo getPs() { return ps; } public void setPs(Nodo ps) { this.ps = ps; } }
public class Cola { private Nodo front; private Nodo rear; public Cola(){ front=null; rear=null;} public boolean colaVacia(){ return(front==null);} public void insertar(int dato){ Nodo x = new Nodo(dato); if(vacia()){front=x; rear=x;} else{ rear.setPs(x); rear=x; }} public Nodo quitar(){ Nodo x=null; if(! Vacia()){x=front; front=front.getPs();} return x;}}
Clase Cola Cola() Insertar(n) Front=null X=new Nodo(n) rear=null If vacia() rear.ps=x
rear=rear.ps quitar() X=null
If !vacia() X=front
front=front.ps
“vacia”
return x
front=x rear=x
Clase aplicación con colas public class Aplicacion { Cola colaA; public Aplicacion(){
colaA = new Cola(); }
public void imprimir (){ cola colaAux = new cola(); while(!colaA.Vacia()){ Nodo x = colaA.quitar(); System.out.println(" "+x.getDato()); colaAux.insertar(x.getDato()); } retornar(colaAux,colaA); } public void retornar(cola origen, cola destino){ while(!origen.Vacia()){ x=origen.quitar(); destino.insertar(x.getDato()); } }
Completar la clase aplicación con los métodos generar() , eliminar() y menu de opciones
Hacer la clase Principal