Example #1
0
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()
Example #2
0
 def __init__(self):
     self.dogs = DList()
     self.cats = DList()
     self.timeStamp = 0
     self.size = 0