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

Implemented Stack and StackList

parent 96c8859c
Branches
Tags
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