class AnimalQueue: def __init__(self): self.dogs = DList() self.cats = DList() self.timeStamp = 0 self.size = 0 def enqueue(self,animal): animal.setTimeStamp(self.timeStamp) self.timeStamp += 1 if(animal.getType() == "Dog"): self.dogs.insertBack(animal) elif(animal.getType() == "Cat"): self.cats.insertBack(animal) self.size += 1 def dequeueCat(self): self.size -= 1 return self.cats.poll().item def dequeueDog(self): self.size -= 1 return self.dogs.poll().item def dequeueAny(self): if(self.dogs.size == 0): return self.dequeueCat() if(self.cats.size == 0): return self.dequeueDog() dog = self.dogs.getFront().item cat = self.cats.getFront().item if(dog.isOlder(cat)): return self.dequeueDog() else: return self.dequeueCat()
def __init__(self): self.dogs = DList() self.cats = DList() self.timeStamp = 0 self.size = 0