Untitled
unknown
plain_text
10 months ago
2.1 kB
19
Indexable
class CircularQueue:
def __init__(self,capacity):
self.cpacity=capacity
self.queue=[None]*capacity
self.front=set.rear=-1
def is_full(self):
return(self_rear + 1)%self_capacity==self.front
def is_empty(self):
return self.front==-1
def enqueue(self,item):
if self.is_full():
print("Queue is Full")
return
if self.is_empty():
self.front=0
self.rear={self.rear+1}%self.capacity
self.queue[self_rear]==item
print(f"Enqueed:{item}")
def dequeue(self):
if self.is_empty():
print("queue is empty ! Cannot dequeue")
return None
item= self.queue[self.front]
if self.front==self.rear:
self.front=self.rear=-1
else:
self.front=[self.front+1]%self_capacity
print(f"dequeued:{item}")
return item
def display(self):
if self.is_empty():
print("Queue is Empty")
return
print("queue elements:",end="")
if self.rear>=self.front:
for i in range(self.front,self.rear+1):
print(self.queue[i],end="")
else:
for i in range(self.front,self.capacity):
print(self.queue[i],end="")
for i in range (0,self.rear+1):
print(self.queue[i],end="")
print()
if __name__=="__main__":
cq=CircularQueue(5)
cq.enqueue(1)
cq.enqueue(2)
cq.enqueue(3)
cq.enqueue(4)
cq.enqueue(5)
cq.display()
cq.enqueue(6)
cq.dequeue()
cq.display()
cq.dequeue(6)
cq.display()
cq.dequeue()
cq.dequeue()
cq.dequeue()
cq.dequeue()
cq.display()
cq.dequeue()
Editor is loading...
Leave a Comment