round-robin schedulers to motivate the use of circularly linked listwe consider round-robin schedulerwhich iterates through collection of elements in circular fashion and "serviceseach element by performing given action on it such scheduler is usedfor exampleto fairly allocate resource that must be shared by collection of clients for instanceround-robin scheduling is often used to allocate slices of cpu time to various applications running concurrently on computer round-robin scheduler could be implemented with the general queue adtby repeatedly performing the following steps on queue (see figure ) dequeue( service element enqueue(ethe queue deque the next element service the next element enqueue the serviced element shared service figure the three iterative steps for round-robin scheduling using queue if we use of the linkedqueue class of section for such an applicationthere is unnecessary effort in the combination of dequeue operation followed soon after by an enqueue of the same element one node is removed from the listwith appropriate adjustments to the head of the list and the size decrementedand then new node is created to reinsert at the tail of the list and the size is incremented if using circularly linked listthe effective transfer of an item from the "headof the list to the "tailof the list can be accomplished by advancing reference that marks the boundary of the queue we will next provide an implementation of circularqueue class that supports the entire queue adttogether with an additional methodrotate)that moves the first element of the queue to the back ( similar method is supported by the deque class of python' collections modulesee table with this operationa round-robin schedule can more efficiently be implemented by repeatedly performing the following steps service element front( rotate(