Abstract Data Types
Last updated
Last updated
class Stack:
def __init__(self):
self.__storage = []
@property
def length(self):
return self.size()
def push(self, value):
self.__storage.append(value)
def pop(self):
return self.__storage.pop()
def peek(self):
return self.__storage[-1]
def size(self):
return len(self.__storage)
def isEmpty(self):
return len(self.__storage) == 0
def __str__(self):
if self.isEmpty():
return "<>"
else:
output = ", ".join(map(str, self.__storage))
return f"<{output}>"
def __repr__(self):
return f"<Stack Object @{str(hex(id(self)))}>"
# end of Stack