Löschen eines Knoten in einfach verketteter Liste
void List.remove(Object o)
{
if(head != null)
{
head.remove(o);
//Nichts anderes als ein erneuter Methodenaufruf!
}
}
void Node.remove(Object 0)
{
if(next != null)
{
if(next.getData().equals(o))
{
next = next.next;
}
else
{
next.remove(o);
}
}
}
Löschen eines Knoten in doppelt verketteter Liste
// Löschen von a
a.prev.next = a.next; //Pfeil über a drüber
a.next.prev = a.prev; //Pfeil unter a
// a erfolgreich gelöscht – nicht Teil der Liste