commit 3b73a0062e2f33859bc9b2ae16504f45f0e0d11b
parent 89208c15609086415206e7344ad313b63b4a5210
Author: Amit Dutta <mail@amit.is-a.dev>
Date: Wed, 7 Oct 2026 22:33:03 +0530
Refactor dequeue algorithm for circular queue
Updated dequeue procedure to include Qsize parameter and corrected logic for empty queue handling.
Diffstat:
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/semester_2/algorithms/algo_039.md b/semester_2/algorithms/algo_039.md
@@ -6,20 +6,22 @@
## Algorithm
```
-procedure dequeue(Q[], front, rear)
+Procedure dequeue(Q[], front, rear, Qsize)
begin
- if(front = -1)
- write("Queue empty.");
+ if (front = -1) then
+ write("Queue empty.")
else
- rear ← Q[front];
- write("Deleted element: ", val);
- --------------------------------
- | front ← (front + 1) % Qsize; |
- | if(front > rear) | Vice Versa
- | front ← -1; |
- | rear ← -1; |
- --------------------------------
+ val ← Q[front]
+ write("Deleted element: ", val)
+
+ // CORRECTED SECTION:
+ if (front = rear) then
+ front ← -1
+ rear ← -1
+ else
+ front ← (front + 1) % Qsize
endif
endif
end procedure
-```
-\ No newline at end of file
+
+```