Programar Cola en Java(Eclipse)

Como están bueno en esta parte vamos a ver como crear una cola simple en java utilizando (eclipse).
Para comenzar necesitamos saber como fusiona una cola y esto es una simple descripción que nos dice:
"Primero en entrar primeros en salir" 


Esto es lo que nos describe una cola de que el primer elemento que entra es el primero que sale, como se muestra en la figura:

Como se observa en la figura el primero en entrar fue "a" y el primero en salir fue el mismo "a".

Ahora para poder continuar se necesita ver que la cola tiene un inicio y un final los que nos ayudara a controlar la adición de un elemento y la eliminación como se muestra en la figura:


Como se puede observar cuando una cola esta vacía el inicio y el final esta en una misma posición, pero cuando se empieza a adicionar el inicio queda al principio y el fin en pieza a recorre entonces el fin nos ayudara a la adición de elementos y el inicio a la eliminación.

Ahora también esta cola tiene sus métodos que son casi los mismos métodos de una pila que son:
- Su constructor: ColaSimple()
- Para ver si esta vacía: esvacia()// tipo boolean
- Para ver si esta llena: esllena()// tipo boolean
- Para adicionar: adicionar()
- Para Eliminar: eliminar()
- Para llenar: llenar()
- Para mostrar: mostrar()
- Para vaciar: vaciar()
- Para el numero de elementos: nroelem()

Esos llegan hacer sus métodos principales de una cola simple y su diagrama de clase es:


ColaSimple
Int max=100
String V[max]//o cualquier otro tipo
Int ini, fin
ColaSimple()
esvacia()
esllena()
adicionar(String elem)
eliminar()
llenar(int n)
mostrar()
vaciar(ColaSimple Z)
nroelem()

  Ahora el código en java seria:

Código

public class ColaSimple {
int max=20;
String [] v=new String [max];
int ini,fin;
public void ColaSimple(){
ini=0;
fin=0;
}
public boolean esvacia(){
if(ini==0 && fin==0)
return true;
return false;
}
public boolean esllena(){
if(fin==max)
return true;
return false;
}
public void adicionar(String elem){
if(!esllena()){
fin++;
v[fin]=elem;
}else{
System.out.println("cola llena");
}
}
public void llenar(int n){
Scanner lee=new Scanner(System.in);
for(int i=1;i<=n;i++){
String x=lee.next();
adicionar(x);
}
}
public String eliminar(){
String x=null;
if(!esvacia()){
ini++;
x=v[ini];
if(ini==fin){
ini=0;
fin=0;
}
}else
System.out.println("cola vacia");
return x;
}
public void vaciar(ColaSimple z){
while (!z.esvacia())
adicionar(z.eliminar());
}
public void mostrar(){
ColaSimple aux=new ColaSimple();
while(!esvacia()){
String x=eliminar();
System.out.println(x);
aux.adicionar(x);
}
vaciar(aux);
}
public int nroelem(){
return fin-ini;
}
}

0 comentarios:

Publicar un comentario