Exemple #1
0
class Stack:
    def __init__(self):
        self.size = 0
        self.storage = LinkedList()

    def __len__(self):
        return self.storage.get_length()

    def push(self, value):
        self.storage.add_to_head(value)

    def pop(self):
        return self.storage.remove_head()
class Queue: # queue class
    def __init__(self): # initialize constructor method
        self.size = 0 # set size to 0
        self.storage = LinkedList() # set storage to LinkedList class

    def __len__(self): # method to show length
        return self.storage.get_length()

    def enqueue(self, value): # method to add a value to the que
        self.storage.add_to_tail(value) # append value to items list
        self.size += 1 # add to length

    def dequeue(self): # method to remove a value from the que
        value = self.storage.remove_head() # remove the head value with remove_head method and store it as a value
        if value is not None: # if value is not empty
            self.size -= 1 # remove 1 from the length
        return value