Open In App

Algorithms Quiz | SP Contest 3 | Question 4

What does the below function do in general? 




void fun(Queue *Q)
{
    Stack S; // Say it creates an empty stack S
 
    // Run while Q is not empty
    while (!isEmpty(Q))
    {
        // deQueue an item from Q and
        // push the dequeued item to S
        push(&S, deQueue(Q));
    }
 
    // Run while Stack S is not empty
    while (!isEmpty(&S))
    {
    // Pop an item from S and enqueue
    // the popped item to Q
    enQueue(Q, pop(&S));
    }
}

(A)



Removes the last element from the queue, Q

(B)



Keeps the queue, Q same as it was before the call

(C)

Makes queue Q empty

(D)

Reverses the queue Q

Answer: (D)
Explanation:

The function takes a queue Q as an argument. It dequeues all items of Q and pushes them to a stack S. Then pops all items of S and enqueues the items back to Q. Since stack is LIFO order, all items of the queue are reversed.

Quiz of this Question
Please comment below if you find anything wrong in the above post

Article Tags :