faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:remove

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:remove [20.10.2021 20:05] sbelfaecher:informatik:oberstufe:adt:verkettete_liste:liste_java:remove [23.11.2023 16:04] (aktuell) Marco Kuemmel
Zeile 9: Zeile 9:
 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. 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 Fallunterscheidungen, die berücksichtigt werden müssen?+Gibt es Fälle, die möglicherweise beim Entfernen von Listenknoten besonders berücksichtigt werden müssen?
  
 ----  ---- 
Zeile 16: Zeile 16:
  
 Implementiere die Methode ''removeAt'', die das n-te Element aus der Liste entfernt. Implementiere die Methode ''removeAt'', die das n-te Element aus der Liste entfernt.
 +
 +++++ Lösungsvorschlag |
 +<code java>
 +    /**
 +     * 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);
 +        }
 +        
 +    }
 +</code>
 +++++
 +
 +----
 +
 +<btn>[[..:liste_java:|<<< Zurück zum Einfügen (am Index)]]</btn> **oder** <btn>[[..:liste_java:hasvalue|Weiter zur Suche >>> ]]</btn>
  • faecher/informatik/oberstufe/adt/verkettete_liste/liste_java/remove.1634760321.txt.gz
  • Zuletzt geändert: 20.10.2021 20:05
  • von sbel