data structures using front rear - figure empty queue front rear delete this element and set rear front - figure queue with single element rear front look at fig if front - then there are no elements in the queue soan underflow condition will be reported if the queue is not empty and front rearthen after deleting the element at the front the queue becomes empty and so front and rear are set to - this is illustrated in fig if the queue is not empty and front max- then after deleting the element at the frontfront is set to this is shown in fig let us look at fig which shows the algorithm to delete an element from circular delete this element and set front queue in step we check for the underflow figure queue where front max- before deletion condition in step the value of the queue at the location pointed by front is stored in val in step step if front - we make two checks first to see if the queue has become write "underflowempty after deletion and second to see if front has reached goto step [end of ifthe maximum capacity of the queue the value of front step set val queue[frontis then updated based on the outcome of these checks step if front rear set front rear - else if front max - set front else set front front [end of if[end of ifstep exit figure algorithm to delete an element from circular queue programming example write program to implement circular queue #include #include #define max int queue[max]int front=- rear=- void insert(void)int delete_element(void)int peek(void)void display(void)int main(int optionvalclrscr()do printf("\ ****main menu *****")printf("\ insert an element")printf("\ delete an element")printf("\ peek")printf("\ display the queue")printf("\ exit")printf("\ enter your option ")scanf("% "&option)switch(optioncase insert()breakcase val delete_element()if(val!=-