in DS
959 views
3 votes
3 votes

I am getting a) as ans. Plz tell how C?

in DS
by
959 views

2 Comments

Initially queue contains elements like 6,8,9,2

I)while statement is true.

II)dequeue from queue and push into stack until queue becomes enpty.

stack values are from top to bottom in order 2,9,8,6.//after completion of first while loop

III)2nd while loop pop one value from stack and enqueue into queue until stack becomes empty.

initially pop top value from stack i.e)2 and enqueue into queue.

after 2nd while loop false contents of queue is 2,9,8,6.

Hence it reverses the elements in queue

2
2
yes tnks
1
1

2 Answers

0 votes
0 votes
Yes, answer will be C .
0 votes
0 votes

Correct answer is C

Take an example. Queue Q contains 5 elements 10, 20, 30, 40 ,50.

Stack : __ __ __ __ __

Queue : 10 20 30 40 50

When queue is not empty, we are to perform PUSH operation 5 times taking all the 5 elements via dequeue operation.

So we push in sequence, 10, 20, 30 ,40, 50 (Since Queue is FIFO order) ie. elements will be removed in same sequence as they were inserted.

Stack : 10 20 30 40 50

Queue : __ __ __ __ __

Now again we Enqueue the elements one by one taking all the 5 elements via POP operation.

So enqueue in sequence 50 40 30 20 10. Here's the catch. POP removes elements from last. Since stack is LIFO order.

Stack : __ __ __ __ __

Queue : 50 40 30 20 10.

Hence, the contents of Queue is reversed the original content.  So, C is correct answer.