Skip to content
Snippets Groups Projects
Commit 2ee34a95 authored by nilsl99's avatar nilsl99
Browse files

Implemented Stack and StackList

parent 96c8859c
Branches
No related tags found
No related merge requests found
class Stack(list):
def __init__(self, l=[]):
self.stack = l
def __str__(self):
return str(self.stack)
def push(self, element):
self.stack.append(element)
def pop(self):
element = self.stack[-1]
del self.stack[-1]
return element
def top(self):
return self.stack[-1]
def size(self):
return len(self.stack)
def isEmpty(self):
return not bool(self.stack)
class ListElement:
def __init__(self, value, next=None):
self.value = value
self.next = next
class StackList:
def __init__(self, l):
self.first_element = ListElement(l[-1])
element = self.first_element
for value in l[1::-1]:
while element.next is not None:
element = element.next
element.next = ListElement(value)
def __str__(self):
return_string = ""
element = self.first_element
while element.next is not None:
return_string += str(element.value) + " -> "
element = element.next
return return_string + str(element.value)
def push(self, value):
self.first_element = ListElement(value, self.first_element)
def pop(self):
value = self.first_element.value
self.first_element = self.first_element.next
return value
def top(self):
return self.first_element.value
def size(self):
if self.first_element is None:
return 0
n = 1
element = self.first_element
while element.next is not None:
n += 1
element = element.next
return n
def isEmpty(self):
return self.first_element is None
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment