Add rotate method to class LinkedQueue

In the public_files section of the problem statement, a class called LinkedQueue, which implements the Queue ADT using a singly-linked list, is defined. Extend the implementation of this class with a new public method rotate(). This method returns the element at the front of the queue and moves it to the back of the queue.

For example, if q is an instance of the class LinkedQueue that represents the following queue

front 5, 2, -1, 3, 0, 8, 6 back

after executing the statement x == q.rotate(), x will be 5 and the object q will represent the queue

front 2, -1, 3, 0, 8, 6, 5 back

Although the effect of rotate() on a non-empty queue q is the same as the combination

{\bf q.enqueue(q.dequeue())}

your implementation should be more efficient than making two separate calls.

You should also override the special method __str__ of the class LinkedQueue so that the contents of an instance of this class representing a queue of integer numbers can be printed without making any call to the public method dequeue.

In particular, you should add the following public methods to the LinkedQueue class:

  def rotate(self):
    # Insert your implementation below


  def __str__(self):
    # In the implementation of this method, assume the queue instance
    # can only contain integer numbers. This is only true in the context
    # of this problem.
    # Insert your implementation below

Problem information

Author: Josefina Sierra Santibáñez

Generation: 2026-01-25T12:53:03.702Z

© Jutge.org, 2006–2026.
https://jutge.org