Data Structures
Circular Array...dynamically allocated
     private:
       data * array;
       int number_of_items;
       int size_of_array;
Manner of Operation:
when the “rear” or “front” indices progress to the end,
they wrap around back to the beginning
front = front % size_of_array +1;
rear = rear % size_of_array +1;