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)   | 606 views

2 Answers

+1 vote

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.1k 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...
+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 (2k points)  
Top Users Jan 2017
  1. Debashish Deka

    7172 Points

  2. Habibkhan

    4696 Points

  3. Vijay Thakur

    4308 Points

  4. sudsho

    4090 Points

  5. saurabh rai

    4024 Points

  6. Arjun

    3292 Points

  7. santhoshdevulapally

    3066 Points

  8. GateSet

    3016 Points

  9. Bikram

    3014 Points

  10. Sushant Gokhale

    2892 Points

Monthly Topper: Rs. 500 gift card

18,838 questions
23,808 answers
20,148 users