diff --git a/Verkettete Liste/knoten.py b/Verkettete Liste/knoten.py new file mode 100644 index 0000000..3e68419 --- /dev/null +++ b/Verkettete Liste/knoten.py @@ -0,0 +1,6 @@ +class Knoten(): + def __init__(self,data): + self.data = data + self.nachfolger = None + + \ No newline at end of file diff --git a/Verkettete Liste/liste.py b/Verkettete Liste/liste.py new file mode 100644 index 0000000..f9af74e --- /dev/null +++ b/Verkettete Liste/liste.py @@ -0,0 +1,30 @@ +from knoten import knoten #Importiert die Klasse Knoten aus der Datei Knoten +class liste: #erstellt die Klasse mit dem Namen Liste + def __init__(self): #Konstruktoer wird aufgerufen und erstellt eine neue Liste + self.head = None #Liste ist am Anfang leer + + def ausgebenListe(self): #Methode, die später die Werte der Liste ausgibt + + aktueller_knoten = self.head #Die Variable Knoten bekommt den Startwert + + while aktueller_knoten is not None: #Wiederholung der Schleife bis kein Wert mehr vorhanden ist + print(aktueller_knoten.daten) #Gibt die aktuellen Werte raus + + aktueller_knoten = aktueller_knoten.nachfolger # Übergabe an den nächsten Knoten, bis keiner mehr vorhanden ist + + + + def append(self, daten): + + neuer_knoten = knoten(daten) # Erstellt einen neuen Knoten mit den übergebenen Daten + + if self.head is None: + self.head = neuer_knoten # Wenn die Liste leer ist, wird der neue Knoten zum ersten Knoten + + else: # Wenn die Liste nicht leer ist + aktueller_knoten = self.head # Wir starten beim ersten Knoten + + while aktueller_knoten.nachfolger is not None: # Wir gehen so lange zum nächsten Knoten, + aktueller_knoten = aktueller_knoten.nachfolger # bis wir am letzten Knoten angekommen sind + + aktueller_knoten.nachfolger = neuer_knoten # Der letzte Knoten bekommt den neuen Knoten als Nachfolger diff --git a/Verkettete Liste/starten.py b/Verkettete Liste/starten.py new file mode 100644 index 0000000..d5d9827 --- /dev/null +++ b/Verkettete Liste/starten.py @@ -0,0 +1,14 @@ +from knoten import Knoten +from liste import Liste + +knoten1 = Knoten(5) +knoten2 = Knoten(8) +knoten3 = knoten(0) +knoten4 = knoten(9) +head = knoten1 +knoten1.nachfolger = knoten2 +knoten2.nachfolger = knoten3 +knoten3.nachfolger = knoten4 +print(knoten1.data) +print(knoten2.nachfolger.data) +print(knoten3.nachfolger.data)