Löschen eines Knoten in einfach verketteter Liste

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