Eine verkettete Liste ist eine Datenstruktur, welche aus Knoten besteht.
Jeder Knoten enthält einen Wert und einem Zeiger auf den Folgeknoten.
Der erste Knoten einer Liste heiĂźt Listenkopf.
Der letzte Listenknoten enthält als Zeiger den Wert none
als Endmarkierung.
Um auf eine Liste zugreifen zu können benötigt man noch eine Variable, welche auf den Listenkopf verweist.
Diese heiĂźt Anker.
In eine Liste können an beliebigen Positionen Knoten eingefügt oder gelöscht werden.
Um einen Knoten zu Löschen, muss nur der Zeiger auf diesen Knoten auf dessen Nachfolger gesetzt werden.
Da nichts mehr auf den gelöschten Knoten verweist, wird er automatisch aus dem Speicher entfernt (Garbage Collection).
Ist der zu löschende Knoten der letzte Knoten der Liste, so hat dieser als Zeiger auf seinen Nachfolger den Wert
none
. Da dieser Wert als Zeiger in den Vorgänger übernommen wird funktioniert, das Löschen hier gleich.
Ein
Spezialfall ist das Löschen des ersten Knotens: Hier muss zuerst der Anker auf den zweiten Knoten zeigen und
danach der Nachfolger des ersten Knotens auf
none
gesetzt werden.