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

Changed StackList.__init__

parent eb61de54
No related branches found
No related tags found
No related merge requests found
class Stack(list): class Stack():
def __init__(self, l=[]): def __init__(self, l=[]):
self.stack = l self.stack = l
def __str__(self): def __str__(self):
max_length = len(str(max(self.stack, key=lambda x: len(str(x))))) max_length = len(str(max(self.stack, key=lambda x: len(str(x)))))
result = "" result = ""
...@@ -12,7 +13,7 @@ class Stack(list): ...@@ -12,7 +13,7 @@ class Stack(list):
def push(self, element): def push(self, element):
self.stack.append(element) self.stack.append(element)
def pop(self): def pop(self):
element = self.stack[-1] element = self.stack[-1]
del self.stack[-1] del self.stack[-1]
...@@ -34,45 +35,48 @@ class ListElement: ...@@ -34,45 +35,48 @@ class ListElement:
self.next = next self.next = next
class StackList: class StackList:
def __init__(self, l): def __init__(self, l=None):
self.first_element = ListElement(l[-1]) if l is None:
element = self.first_element self.first_element = None
for value in l[1::-1]: else:
while element.next is not None: self.first_element = ListElement(l[-1])
element = element.next element = self.first_element
element.next = ListElement(value) for value in l[1::-1]:
while element.next is not None:
element = element.next
element.next = ListElement(value)
def __str__(self): def __str__(self):
return_string = "" return_string = ""
element = self.first_element element = self.first_element
while element.next is not None: while element.next is not None:
return_string += str(element.value) + " -> " return_string += str(element.value) + " -> "
element = element.next element = element.next
return return_string + str(element.value) return return_string + str(element.value)
def push(self, value): def push(self, value):
self.first_element = ListElement(value, self.first_element) self.first_element = ListElement(value, self.first_element)
def pop(self): def pop(self):
value = self.first_element.value value = self.first_element.value
self.first_element = self.first_element.next self.first_element = self.first_element.next
return value return value
def top(self): def top(self):
return self.first_element.value return self.first_element.value
def size(self): def size(self):
if self.first_element is None: if self.first_element is None:
return 0 return 0
n = 1 n = 1
element = self.first_element element = self.first_element
while element.next is not None: while element.next is not None:
n += 1 n += 1
element = element.next element = element.next
return n return n
def isEmpty(self): def isEmpty(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment