diff --git a/verketteteliste/liste.py b/verketteteliste/liste.py index 7e25335..133b0a5 100644 --- a/verketteteliste/liste.py +++ b/verketteteliste/liste.py @@ -8,9 +8,9 @@ class Liste: #Klasse wird ers aktueller_knoten = self.head #"aktueller_knoten" wird auf den Wert von "self.head" gesetzt while aktueller_knoten is not None: #Unter der Bedingung, dass "aktueller_knoten" einen Wert hat... - print(aktueller_knoten.daten) #...wird das Attribut "daten" von "aktueller_knoten" ausgegeben + print(aktueller_knoten.data) #...wird das Attribut "daten" von "aktueller_knoten" ausgegeben - aktueller_knoten = aktueller_knoten.nachfolger #daraufhin wird der nachfolger von "aktueller_knoten" das neue "aktueller_knoten" + aktueller_knoten = aktueller_knoten.next #daraufhin wird der nachfolger von "aktueller_knoten" das neue "aktueller_knoten" def append(self, daten): neuer_knoten = Knoten(daten) @@ -23,4 +23,26 @@ class Liste: #Klasse wird ers letzter_knoten.next = neuer_knoten return letzter_knoten = letzter_knoten.next + + def loeschen(self,suchwert): #erstes Element mit gesuchtem Wert wird gelöscht + aktueller_knoten = self.head + vorheriger_knoten = None + + if aktueller_knoten is None: + print("Liste ist leer löschen nicht möglich") + return + + if aktueller_knoten.daten == suchwert: + self.head = aktueller_knoten.nachfolger + return + + while aktueller_knoten is not None and aktueller_knoten.daten != suchwert: + vorheriger_knoten = aktueller_knoten # merken zum Löschen + aktueller_knoten = aktueller_knoten.nachfolger + + if aktueller_knoten is None: + print(f"Wert {suchwert} wurde nicht gefunden") + return + + vorheriger_knoten.nachfolger = aktueller_knoten.nachfolger \ No newline at end of file diff --git a/verketteteliste/starten.py b/verketteteliste/starten.py index efb7c66..c74da10 100644 --- a/verketteteliste/starten.py +++ b/verketteteliste/starten.py @@ -1,7 +1,13 @@ from knoten import Knoten +from liste import Liste knoten1 = Knoten(3) knoten2 = Knoten(5) knoten1.next = knoten2 print(knoten1.next.data) print(knoten2.data) + +liste1 = Liste() +liste1.append(37) +liste1.append(44) +liste1.ausgebenListe() \ No newline at end of file