Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:remove [20.10.2021 16:31] – [Einfügen eines neuen Elements] sbel | faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:remove [23.11.2023 16:04] (aktuell) – Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
- | ===== Listenlänge ===== | + | Mit der Möglichkeit, |
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | Zeichne ein Objektdiagramm, | ||
- | Die Länge der Liste kann man bestimmen, indem man sich vom ersten Element zum letzten bewegt und dabei mit einem Zähler | + | Gibt es Fälle, die möglicherweise beim Entfernen von Listenknoten besonders berücksichtigt werden müssen? |
---- | ---- | ||
{{: | {{: | ||
- | === (A1) === | + | === (A2) === |
- | * Implementiere die Methode '' | + | Implementiere die Methode '' |
- | * Teste deine Methode mit unterschiedlich langen Listen. welchen Fall solltest du unbedingt testen? | + | |
++++ Lösungsvorschlag | | ++++ Lösungsvorschlag | | ||
<code java> | <code java> | ||
/** | /** | ||
- | | + | |
- | | + | * @param index Die Stelle, von der der Wert entfernt werden soll. |
- | * @return | + | |
*/ | */ | ||
- | public | + | public |
- | | + | |
- | + | | |
- | Node< | + | return; |
+ | } | ||
| | ||
- | if ( n == null) { | + | if (index == this.length()-1) { |
- | return | + | Node< |
+ | n.setNext(null); | ||
+ | return; | ||
} | } | ||
| | ||
- | | + | |
- | + | | |
- | while ( n.getNext() != null ) { | + | |
- | | + | n1.setNext(n2); |
- | | + | |
} | } | ||
| | ||
- | return numElements; | ||
} | } | ||
</ | </ | ||
++++ | ++++ | ||
- | ===== Einfügen eines neuen Elements ===== | + | ---- |
- | + | ||
- | Das Einfügen eines neuen Knotens ist im folgenden Objektdiagramm dargestellt. Man muss beim ändern der Objektreferenzen ('' | + | |
- | {{ : | + | < |