From 057806324f75f692c520cb0b7580aa4167c684e7 Mon Sep 17 00:00:00 2001
From: Nils Liebreich <nilsl99@mi.fu-berlin.de>
Date: Tue, 8 Nov 2022 21:31:02 +0100
Subject: [PATCH] Changed StackList.__init__

---
 Aufgabe03a.py | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/Aufgabe03a.py b/Aufgabe03a.py
index e5af052..78f5c9d 100644
--- a/Aufgabe03a.py
+++ b/Aufgabe03a.py
@@ -1,7 +1,8 @@
-class Stack(list):
+class Stack():
+
     def __init__(self, l=[]):
         self.stack = l
-    
+
     def __str__(self):
         max_length = len(str(max(self.stack, key=lambda x: len(str(x)))))
         result = ""
@@ -12,7 +13,7 @@ class Stack(list):
 
     def push(self, element):
         self.stack.append(element)
-    
+
     def pop(self):
         element = self.stack[-1]
         del self.stack[-1]
@@ -34,45 +35,48 @@ class ListElement:
         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 __init__(self, l=None):
+        if l is None:
+            self.first_element = None
+        else:
+            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):
-- 
GitLab