GATE CSE
First time here? Checkout the FAQ!
x
+2 votes
101 views

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

asked in DS by Veteran (55.6k points)   | 101 views

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

yes tnks

2 Answers

0 votes
Yes, answer will be C .
answered by (335 points)  
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.

answered by Junior (507 points)  


Top Users Jul 2017
  1. Bikram

    4894 Points

  2. manu00x

    2888 Points

  3. Debashish Deka

    1870 Points

  4. joshi_nitish

    1776 Points

  5. Arjun

    1496 Points

  6. Hemant Parihar

    1306 Points

  7. Shubhanshu

    1128 Points

  8. Arnab Bhadra

    1114 Points

  9. pawan kumarln

    1114 Points

  10. Ahwan

    940 Points


24,089 questions
31,062 answers
70,677 comments
29,400 users