Discussion Forum
Que. | Suppose you are given an implementation of a queue of integers. The operations that can be performed on the queue are:
i. isEmpty (Q) — returns true if the queue is empty, false otherwise. ii. delete (Q) — deletes the element at the front of the queue and returns its value. iii. insert (Q, i) — inserts the integer i at the rear of the queue. Consider the following function: void f (queue Q) { int i ; if (!isEmpty(Q)) { i = delete(Q); f(Q); insert(Q, i); } } What operation is performed by the above function f ? |
a. | Leaves the queue Q unchanged |
b. | Reverses the order of the elements in the queue Q |
c. | Deletes the element at the front of the queue Q and inserts it at the rear keeping the other elements in the same order |
d. | Empties the queue Q |
Answer:Reverses the order of the elements in the queue Q |