J'essaye d'implémenter la file d'attente du livre clrs, mais cela ne fonctionne pas comme prévu. Quel est le problème avec mon code?Im essayant d'implémenter la file d'attente du livre clrs, mais son ne fonctionne pas comme prévu? Quel est le problème avec mon code
Cela peut-il être un problème avec la taille de la file d'attente ou le fonctionnement de la mise en file d'attente?
Cependant, il est très clair que l'opération de mise en file d'attente dans la file d'attente ne fonctionne pas comme prévu. Voici mon code:
class Queue:
def __init__(self,size):
self.queue=[None]*(size+1)
self.tail=1
self.head=1
self.size=size
def enqueue(self,item):
#error checking
if(self.isFull()):
print("queue overflows,queue full")
return
#--------------------
self.queue[self.tail]=item
if(self.tail==self.size):
self.tail=1
else:
self.tail=self.tail+1
def dequeue(self):
#error checking
if(self.isEmpty()):
print("queue underflows,queue empty")
return
#--------------------
x=self.queue[self.head]
if(self.head==self.size):
self.head=1
else:
self.head=self.head+1
return x
def isFull(self):
return (self.tail + 1)= self.head
def isEmpty(self):
return self.head==self.tail
def first_person(self):
if(self.isEmpty()):
return ("queue empty")
return self.queue[self.head]