Compare commits
3
Commits
c11a1885b0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2591cf3eeb | ||
|
|
46f77c0c14 | ||
|
|
2aca88f3cc |
@@ -3,3 +3,7 @@
|
||||
verkettete Liste und liniare Liste in der Klasse besprovhen und erklärt
|
||||
## 21.09
|
||||
Aufgabe von Itslearning bearbeitet und in der Datei liste.py zu finden, inform von #anhenungen an die einzelnen zeilen.
|
||||
## 25.09
|
||||
An den Aufgaben von istlearning weiter gearbeitet und einiges ausprobiert.
|
||||
## 02.10
|
||||
Heute habe ich mich an die Aufgaben gesetzt und die neu hinzugefügten Code zeile versuch schlüssig zu erklären.
|
||||
@@ -13,3 +13,96 @@ class Liste: # class wird ers
|
||||
print(aktueller_knoten.daten) # befehl wird erteilt , dass der aktuelle_knoten.daten also die neuzugeschriebenen werte ausgegeben werden
|
||||
|
||||
aktueller_knoten = aktueller_knoten.nachfolger # daraufhin wird der nachfolger von aktueller_knoten der neue aktuelle_knoten die werte somit also überschrieben
|
||||
#aufgabe2
|
||||
|
||||
def append(self,daten):
|
||||
aktueller_knoten = Knoten(daten) # Objekt erzeugt mit `daten` drin
|
||||
|
||||
if self.head == None:
|
||||
self.head = aktueller_knoten # aktuelller knoten wird als "link" in head gespeichert und schafft eine verbindung nwird zum neuen head
|
||||
|
||||
else:
|
||||
letzter_Knoten = self.head
|
||||
# letzter Knoten wird gesucht, vom head
|
||||
while letzter_Knoten.nachfolger is not None: # wird die liste durchgegangen und der nachfolger ist None ist dies das letzte Atribut
|
||||
letzter_Knoten = letzter_Knoten.nachfolger
|
||||
|
||||
letzter_Knoten.nachfolger = aktueller_knoten
|
||||
|
||||
#Element in die Kette einfügen
|
||||
def einfuegen_bei(self, index, daten): #definiert das in den kommenden Zeilen ein neues Element eingeführt werden soll
|
||||
|
||||
neuer_Knoten = Knoten(daten) # neues Elemen wird mit einewm Objekt gefüllt
|
||||
|
||||
if index == 0: #wenn index Null dann....
|
||||
|
||||
neuer_Knoten.nachfolger = self.head #die daten des neuen Knoten werden als link auf head gesetzt und somit zeigt head auf den neuen knoten
|
||||
self.head = neuer_Knoten #
|
||||
|
||||
return #beendet die Methode nur wenn der if Befehl eingetreten ist
|
||||
|
||||
aktueller_knoten = self.head #
|
||||
zaehler = 0 #
|
||||
while aktueller_knoten is not None and zaehler < index - 1: #
|
||||
aktueller_knoten = aktueller_knoten.nachfolger #
|
||||
zaehler += 1
|
||||
|
||||
if aktueller_knoten is None:
|
||||
print ("index out of range")
|
||||
return
|
||||
|
||||
neuer_Knoten.nachfolger = aktueller_knoten.nachfolger
|
||||
aktueller_knoten.nachfolger = neuer_Knoten
|
||||
|
||||
|
||||
### Sucht nach dem ersten Vorkommen des Werts und löscht es ####
|
||||
def loeschen(self,suchwert):
|
||||
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
|
||||
|
||||
|
||||
def loeschen_anStelle(self,index): # Element wird an bestimmter stelle gelöscht
|
||||
|
||||
if self.head is None:
|
||||
print("Liste ist leer")
|
||||
return
|
||||
|
||||
if index == 0:
|
||||
self.head = self.head.nachfolger
|
||||
return
|
||||
|
||||
aktueller_knoten = self.head
|
||||
|
||||
for i in range(index-1):
|
||||
if aktueller_knoten.nachfolger is None:
|
||||
print(f"Index {index} existiert nicht")
|
||||
return
|
||||
aktueller_knoten = aktueller_knoten.nachfolger
|
||||
|
||||
if aktueller_knoten.nachfolger is None:
|
||||
print("Existiert nicht")
|
||||
return
|
||||
|
||||
aktueller_knoten.nachfolger = aktueller_knoten.nachfolger.nachfolger
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,23 +1,9 @@
|
||||
#from knoten import Knoten
|
||||
|
||||
#knoten1 = Knoten(33)
|
||||
#knoten2 = Knoten(66)
|
||||
#knoten1.next = knoten2
|
||||
|
||||
#print(knoten1.next.data)
|
||||
#print(knoten2.data)
|
||||
|
||||
from knoten import Knoten
|
||||
class Liste:
|
||||
def __init__(self):
|
||||
self.head = None
|
||||
|
||||
def ausgebenListe(self):
|
||||
knoten1 = Knoten(33)
|
||||
knoten2 = Knoten(66)
|
||||
knoten1.next = knoten2
|
||||
|
||||
aktueller_knoten = self.head
|
||||
print(knoten1.next.data)
|
||||
print(knoten2.data)
|
||||
|
||||
while aktueller_knoten is not None:
|
||||
|
||||
print(aktueller_knoten.daten)
|
||||
|
||||
aktueller_knoten =aktueller_knoten.nachfolger
|
||||
Reference in New Issue
Block a user