13. 55 44 33 22 11 22 11 55 44 11 55 44 33 22 4 3 2 1 0 1 0 4 3 0 4 3 2 1 Rear Front Front = 0 Rear = max – 1 Queue is full Rear Front Rear Front Front != 0 & Rear = max-1 Rear = 0 A[rear] = val 33 2 Front !=0 & Rear != max-1 Rear ++ A[rear] = val Inserting an element into queue (all conditions) Since if your queue is empty means (front=-1) then make front =0 & rear = 0 (by rear++) It will become 0 means(-1+1=0)
14.
15. 11 44 33 22 11 11 55 44 33 22 0 3 2 1 0 0 4 3 2 1 Rear Front Front = Rear Front = Rear = -1 Rear Front Rear Front If Front != max-1 & Front !=-1 Front ++ 55 4 Deleting an element into queue (all conditions) If (front=-1) then Queue is empty If Front == max -1 Then Front = 0
16.
17.
18. Example – A + B * C Symb 1 A A 2 + A + 3 B AB + 4 * AB + * 5 C ABC + * 6 ABC* + 7 ABC*+
19. Example 2 (A+B) * C symb Postfix string opstk ( ( A A ( + A ( + B AB ( + ) AB+ * AB+ * C AB + C * AB + C*
20. Example 3 ((A – (B + C)) * D) $ (E + F) ( A ( ( A (( A A (( - AB ((- ( AB ((-( B ABC ((-( + ABC + ((-( + C ABC + - ((-( + ) ABC + - ((- ) ABC + - D ( * ABC + - D ( D ABC + - D (* ) ABC + - D * (* $ ABC + - D * ( ABC + - D * $ E ABC + - D * E $( + ABC + - D * E $( F ABC + - D * EF $( + ) ABC + - D * EF + $ ABC + - D * EF + $