Löschen von Elementen

Mit der Möglichkeit, einfach eine Referenz auf das n-te Element zu erhalten hast du bereits die wichtigste Voraussetzung geschaffen, um ein Element an Position n löschen zu können.

(A1)

Zeichne ein Objektdiagramm, anhand dessen du den Ablauf des Löschvorgangs erläutern kannst. Schreibe dann einen Merksatz stichwortartig nieder, was beim Löschen eines neuen Knotens an Position n alles passieren muss.

Gibt es Fälle, die möglicherweise beim Entfernen von Listenknoten besonders berücksichtigt werden müssen?

(A2)

Implementiere die Methode removeAt, die das n-te Element aus der Liste entfernt.

Lösungsvorschlag

/** * Entfernt das Element, das am gegebenen Index steht, aus der Liste. * @param index Die Stelle, von der der Wert entfernt werden soll. */ public void removeAt(int index) { if (!this.isEmpty() && index == 0) { this.first = first.getNext(); return; } if (index == this.length()-1) { Node<T> n = this.getNode(index-1); n.setNext(null); return; } if ( index < this.length()-1 && index > 0) { Node<T> n1 = this.getNode(index-1); Node<T> n2 = this.getNode(index+1); n1.setNext(n2); } }

<<< Zurück zum Einfügen (am Index) oder Weiter zur Suche >>>