First time here? Checkout the FAQ!
+7 votes

Suppose you are given an implementation of a queue of integers. The operations that can be performed on the queue are:

  1. isEmpty (Q) — returns true if the queue is empty, false otherwise.
  2. delete (Q) — deletes the element at the front of the queue and returns its value.
  3. 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);
   insert(Q, i);

What operation is performed by the above function f ?

  1. Leaves the queue Q unchanged
  2. Reverses the order of the elements in the queue Q
  3. Deletes the element at the front of the queue Q and inserts it at the rear keeping the other elements in the same order
  4. Empties the queue Q
asked in DS by Veteran (19.1k points)   | 559 views

4 Answers

+11 votes
Best answer

insert() will inserts the value in just reverse order.

answered by Veteran (53.2k points)  
selected by
+5 votes
ans b)
answered by Boss (5.3k points)  
+4 votes
answer will be b.


assume a queue of element 1 2 3 4 5...

now as Q is not empty it will delete 1 and 1 will be sored in i and den again f(Q) will be called which contains element 23456...but the trace (activation of inset (Q,1)) continues till 5 is deleted and again activation is executed by inserting q(5) q(1),,,thus reversing the queue
answered by Boss (8.1k points)  
is ny other better approach to understand it ?
0 votes
Answer: B
answered by Veteran (34.2k points)  

Top Users Apr 2017
  1. akash.dinkar12

    3660 Points

  2. Divya Bharti

    2580 Points

  3. Deepthi_ts

    2040 Points

  4. rude

    1966 Points

  5. Tesla!

    1768 Points

  6. Debashish Deka

    1614 Points

  7. Shubham Sharma 2

    1610 Points

  8. Prashant.

    1492 Points

  9. Arjun

    1472 Points

  10. Arunav Khare

    1464 Points

Monthly Topper: Rs. 500 gift card

22,088 questions
28,063 answers
24,173 users