Exemplo n.º 1
0
class Stack:
    def __init__(self):
        self.size = 0
        self.storage = LinkedList()

    def __len__(self):
        return self.size

    def push(self, value):
        self.size += 1
        self.storage.add_to_head(value)

    def pop(self):
        self.size -= 1
        self.storage.remove_tail()
Exemplo n.º 2
0
class Stack:
    def __init__(self):
        self.storage = LinkedList()

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

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

    def pop(self):
        if self.storage.length == 0: return None
        return self.storage.remove_tail()
Exemplo n.º 3
0
class Stack:
    def __init__(self):
        self.size = 0
        self.storage = LinkedList()

    def __len__(self):
        return self.size

    def push(self, value):
        self.storage.add_to_tail(value)
        self.size += 1

    def pop(self):
        if self.size == 0:
            return None
        self.size -= 1
        return self.storage.remove_tail()
Exemplo n.º 4
0
class Stack:
    def __init__(self):
        self.size = 0
        self.storage = LinkedList()

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

    def __str__(self):
        return str(self.storage)

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

    def pop(self):
        if len(self.storage) > 0:
            return self.storage.remove_tail()
Exemplo n.º 5
0
class LinkedListStack:
    def __init__(self):
        self.size = 0
        self.storage = LinkedList()

    # len returns the number of elements in the stack.
    def __len__(self):
        return self.size

    # push adds an item to the top of the stack.
    def push(self, value):
        self.storage.add_to_tail(value)
        self.size += 1

    # pop removes and returns the element at the top of the stack
    def pop(self):
        if self.size == 0:
            return None
        self.size -= 1
        return self.storage.remove_tail()
Exemplo n.º 6
0
class Stack:
    def __init__(self):
        self.size = 0
        self.storage = LinkedList()
        self.head = None
        self.tail = None

    def __len__(self):
        return self.size

    def push(self, value):
        # size of LL gets increased by 1 every time we push
        self.size += 1
        return self.storage.add_to_tail(value)

    def pop(self):
        # check if LL is empty. If so, we cannot remove an element
        if self.size == 0:
            return None
        # if not empty, remove the tail (LIFO) and decrase the size by 1
        else:
            self.size -= 1
            return self.storage.remove_tail()
Exemplo n.º 7
0
class Stack:
    def __init__(self):
        self.size = 0
        # Store Data through invocation of the LinkedList
        self.storage = LinkedList()

    def __len__(self):
        # Returning the tracked size of the Linked list
        return self.size

    def push(self, value):
        # Add to size as adding items
        self.size += 1
        # add item to the tail through LinkedList methods
        return self.storage.add_to_tail(value)

    def pop(self):
        # Establish empty size of List
        if self.storage.head == None:
            self.size = 0
        else:
            # Subtract as removing items
            self.size -= 1
            return self.storage.remove_tail()