25. A circular queue is a FIFO data structure that is harder to implement but more effective in terms of using vacated spaces in an array, by making the rear pointer to loop back to the start of the queue once the last space in the queue has been filled, provided that the beginning space of the queue is empty