First time here? Checkout the FAQ!
0 votes

Consider a standard Circular Queue implementation (which has the same condition for Queue Full and Queue Empty) whose size is $11$ and the elements of the queue are $q[0], q[1], \ldots q[10]$.

The front and rear pointers are initialized to point at $q[2]$. In which position will the ninth element be added?

  1. $q[0]$
  2. $q[1]$
  3. $q[9]$
  4. $q[10]$
asked in DS by Active (2.5k points)   | 640 views

2 Answers

+2 votes

in circular queue front =rear queue is empty

(rear+1) mod n == front queue is full

1st element inserted at q[2] 2nd at q[3] and so on so 9th element inserted at q[10]

answered by Veteran (30.7k points)  
Pooja please explain your approach of solving.
@Pooja: hi I wanna ask you something about the answer you answered in this question:
if the front and rear starts at index 2 then the array will be like this
2  3  4  5  6  7  8  9  10  0   1     ------>    INDEX
0  1  2  3  4  5  6  7   8   9  10    ------> ELEMENT

So 9th element will be in the 8th  right starts from 0th ordering?

So answer should be 10 right?

Please correct me if I am wrong.
front and rear at q[2] then first element is at q[3] na
I think it is implementation dependent, where we are inserting the first element...
i think first element is inserted at q[3].
+1 vote
in a circular queue if front=rear then the queue is empty, insert first element at q[2] thus the ninth element will go to q[10].
answered by Active (2.1k points)  
Top Users Feb 2017
  1. Arjun

    5396 Points

  2. Bikram

    4230 Points

  3. Habibkhan

    3952 Points

  4. Aboveallplayer

    3086 Points

  5. Debashish Deka

    2564 Points

  6. sriv_shubham

    2318 Points

  7. Smriti012

    2240 Points

  8. Arnabi

    2008 Points

  9. mcjoshi

    1696 Points

  10. sh!va

    1684 Points

Monthly Topper: Rs. 500 gift card

20,863 questions
26,023 answers
22,136 users