Colas

• La clase Vector la utilizo para guardar cada elemento de la cola
• Con los atributos inicio y fin, ubico el inicio y el fin de la cola.
• Cuando desencolo, actualizo el atributo inicio(pero no elimino el elemento de mi clase Vector).
• Si elijo eliminarlo, no necesito de los atributos inicio y fin, solo me bastaría un atributo size, pues cuando elimino el elemento de la claseVector, esta me reindexa los elementos disponibles.
En el código, podemos ver ambas alternativas:
• Eliminando el elemento de la clase Vector , con un único atributo size para la clase.
• Sineliminar el elemento y haciendo uso de los atributos
• package colas;
• import java.util.Vector;
• public class Cola {
• //private int inicio;
//privateint fin;
private int size;
private Vector elementos;
• public Cola() {
super();
elementos = new Vector();
//inicio = fin = 0;
size = 0;
}

public boolean colaVacia () {
//if ( (fin-inicio)==0) {
if ( size==0) {
return true;
}
return false;
}
• public void encolar ( Tipo o ) {
//elementos.add(fin++, o);
elementos.add(size++, o); }
• public Tipo desencolar () {
Tipo retorno;

try {
if(colaVacia())
throw newErrorColaVacia();
else {
//return elementos.get(inicio++);
retorno = elementos.get(0);
elementos.remove(0);
size–;
return retorno;
}
} catch(ErrorColaVacia error) {
System.out.println(“ERROR: la cola esta vacía”);