Suppose you are given an implementation of a queue of integers. The operations that can be performed on the queue are:
(i) is Empty (Q) : returns true if the queue is Empty, false otherwise.
(ii) delete (Q) : delete the elements at the front of the queue and returns its value.
(iii) insert (Q, i) : insert the integer i at the rear of the queue.
Consider the following functions:
void f (queue Q)
{
int i;
if (! is Empty (Q))
{
i = delete (Q);
f(Q);
insert (Q, i);
}
}
What operation is performed by the above function f?