TheHingineer

  • Data Structures & Algorithms


  • DSA Part-1

  • DSA Part-2

  • DSA Part-3

  • DSA Part-4

  • DSA Part-5

  • Circular Queue: Array Implementation and Condition Checks

    Circular Queue linear queue ke false overflow drawback ko overcome karta hai. Isme array ke last element (index N - 1) ko conceptually first element (index 0) ke saath connect kiya jata hai using Modulo Arithmetic (% N).

                     [0]
                  /       \
              [4]           [1]
                 \         /
                 [3] --- [2]
    
    Wrap-Around Formula:
    Next Position = (current_position + 1) % Capacity
    

    Condition Checks in Circular Queue

    • Empty Condition: FRONT == -1
    • Full Condition (Overflow): (REAR + 1) % CAPACITY == FRONT

    Enqueue and Dequeue Operations

    ENQUEUE_CIRCULAR(Q, CAPACITY, val)
    1. If (REAR + 1) % CAPACITY == FRONT then:
           Print "Circular Queue Overflow!"; Return
    2. If FRONT == -1 then: Set FRONT = REAR = 0
    3. Else:
           Set REAR = (REAR + 1) % CAPACITY
    4. Set Q[REAR] = val
    
    DEQUEUE_CIRCULAR(Q, CAPACITY)
    1. If FRONT == -1 then:
           Print "Circular Queue Underflow!"; Return -1
    2. val = Q[FRONT]
    3. If FRONT == REAR then:
           Set FRONT = REAR = -1    [Only 1 element was present]
    4. Else:
           Set FRONT = (FRONT + 1) % CAPACITY
    5. Return val

    Agli post me hum cover karenge Queue Implementation using Linked List.

    Scroll to Top