அல்கோரிதம்circular queue
Circular queue — ring buffer
TT
Testlaa Team
May 14, 2026•1 min read
Modulo wrap; full vs empty — size counter / wasted slot.
Try this in Python
class CircularQueue:
def __init__(self, k: int) -> None:
self.k = k
self.buf = [0] * k
self.head = 0
self.size = 0
def en_queue(self, v: int) -> bool:
if self.size == self.k:
return False
self.buf[(self.head + self.size) % self.k] = v
self.size += 1
return True
def de_queue(self) -> bool:
if self.size == 0:
return False
self.head = (self.head + 1) % self.k
self.size -= 1
return True
cq = CircularQueue(3)
print(cq.en_queue(1), cq.en_queue(2), cq.de_queue(), cq.en_queue(3))
Key takeaways
- Modulo — physical end to logical.
- Size — full check எளிது.
- Kernel buffers.
Tags:
Stacks & queuesPythonமாணவர்கள்
