design implementation circular queue the circular queue linear data structure operation perform base FIFO First in first Out principle position connect position circle it call Ring BufferOne benefit circular queue use space queue in normal queue queue insert element space queue but circular queue use space store new valuesimplement mycircularqueue classMyCircularQueuek Initializes object size queue kint Front get item queue if queue return 1int Rear get item queue if queue return 1boolean enqueueint value Inserts element circular queue return true operation successfulboolean deQueue Deletes element circular queue return true operation successfulboolean isempty Checks circular queue notboolean isfull Checks circular queue notyou solve problem builtin queue datum structure programming language Example 1inputmycircularqueue enQueue enQueue enQueue enQueue Rear isfull deQueue enQueue rear3 1 2 3 4 4 outputnull true true true false 3 true true true 4explanationmycircularqueue mycircularqueue new MyCircularQueue3myCircularQueueenQueue1 return TruemyCircularQueueenQueue2 return TruemyCircularQueueenQueue3 return TruemyCircularQueueenQueue4 return FalsemyCircularQueueRear return 3mycircularqueueisfull return TruemyCircularQueuedeQueue return TruemyCircularQueueenQueue4 return truemycircularqueuerear return 4 Constraints1 k 10000 value 1000at 3000 call enQueue deQueue Front Rear isEmpty isfull