//Implementacion de la estructura de cola circular
public class ColaCircular{
private Object[] array
; //Arreglo de cualquier tipo en donde se implementara la cola circular private int ptrCola = 0, ptrCabeza = 0; //Enteros que indican el inicio y fin de la cola
private int capacidad; //Tamaño maximo de la cola
public ColaCircular (int capacidad)
{
this.capacidad = capacidad;
array
= new Object [capacidad
]; }
public void Insertar
(Object o
) {
//Se agrega el elemento al final de la cola y se actualiza el indice que indica fin de la cola
array[ptrCola] = o;
ptrCola = (ptrCola + 1) % array.length;
}
{
//Se guarda el elemento que se va a borrar para ser retornado
Object obj
= array
[ptrCabeza
];
//La posicion inicial se establece como nula y se actualiza el inicio de la cola
array[ptrCabeza] = null;
ptrCabeza = (ptrCabeza + 1) % array.length;
return obj;
}
//Retorna el tamaño maximo de la cola
public int getCapacidad(){
return capacidad;
}
}