data structures using if(front <rear while(front <rearprintf("% ",deque[front])front++else while(front <max- printf("% "deque[front])front++front while(front <rearprintf("% ",deque[front])front++printf("\ ")output ****main menu **** input restricted deque output restricted deque enter your option input restricted dequeue insert at right delete from left delete from right display quit enter your option enter the value to be added enter the value to be added enter your option the deleted element is enter your option priority queues priority queue is data structure in which each element is assigned priority the priority of the element will be used to determine the order in which the elements will be processed the general rules of processing the elements of priority queue are an element with higher priority is processed before an element with lower priority two elements with the same priority are processed on first-come-first-served (fcfsbasis priority queue can be thought of as modified queue in which when an element has to be removed from the queuethe one with the highest-priority is retrieved first the priority of the element can be set based on various factors priority queues are widely used in operating systems to execute the highest priority process first the priority of the process may be set based on the cpu time it requires to get executed completely for exampleif there are three processeswhere the first process needs ns to completethe second process needs nsand the third process needs nsthen the second process will have the highest priority and will thus be the first to be executed howevercpu time is not the only factor that determines the priorityrather it is just one among several factors another factor is the importance of one process over another in case we have to run two processes at the same timewhere one process is concerned with online order booking