• Source
    1. //Implementacion de la estructura de cola circular
    2.  
    3. public class ColaCircular{
    4. private Object[] array; //Arreglo de cualquier tipo en donde se implementara la cola circular
    5. private int ptrCola = 0, ptrCabeza = 0; //Enteros que indican el inicio y fin de la cola
    6. private int capacidad; //Tamaño maximo de la cola
    7.  
    8. public ColaCircular (int capacidad)
    9. {
    10. this.capacidad = capacidad;
    11. array = new Object [capacidad];
    12. }
    13.  
    14. public void Insertar (Object o)
    15. {
    16. //Se agrega el elemento al final de la cola y se actualiza el indice que indica fin de la cola
    17. array[ptrCola] = o;
    18. ptrCola = (ptrCola + 1) % array.length;
    19. }
    20.  
    21. public Object Extraer ()
    22. {
    23. //Se guarda el elemento que se va a borrar para ser retornado
    24. Object obj = array[ptrCabeza];
    25.  
    26. //La posicion inicial se establece como nula y se actualiza el inicio de la cola
    27. array[ptrCabeza] = null;
    28. ptrCabeza = (ptrCabeza + 1) % array.length;
    29.  
    30. return obj;
    31. }
    32.  
    33. //Retorna el tamaño maximo de la cola
    34. public int getCapacidad(){
    35. return capacidad;
    36. }
    37. }