diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-10-17 22:25:13 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-10-17 22:25:13 +0200 |
| commit | 6d363bfcc2fec68c78175b38b26d57d8db825349 (patch) | |
| tree | 55352c9dbe65f8c93abfa4d905a8944437f69429 /Info | |
| parent | af582cc1bc5dd77707dcfc205b51c31d738e407f (diff) | |
| download | unterricht-6d363bfcc2fec68c78175b38b26d57d8db825349.tar.gz unterricht-6d363bfcc2fec68c78175b38b26d57d8db825349.zip | |
list: fix kompositum impl and add second version of elementEntfernen
Diffstat (limited to 'Info')
| -rw-r--r-- | Info/12/Listen/Kompositum/slides.md | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/Info/12/Listen/Kompositum/slides.md b/Info/12/Listen/Kompositum/slides.md index cbda020b..e06cedb3 100644 --- a/Info/12/Listen/Kompositum/slides.md +++ b/Info/12/Listen/Kompositum/slides.md @@ -434,7 +434,8 @@ class Abschluss { ```java class Liste { // [...] void elementEntfernen(Daten daten) { - anfang.elementEntfernen(daten); + if (anfang.datenGeben() == daten) { vorneEntfernen(); } + else { anfang.elementEntfernen(daten); } } } class Eintrag { @@ -447,7 +448,29 @@ class Eintrag { } } class Abschluss { - Daten elementEntfernen(Daten daten) { } + void elementEntfernen(Daten daten) { } +} +``` + +## Implementierung: `Daten elementEntfernen(daten)` v2 + +```java +class Liste { // [...] + void elementEntfernen(Daten daten) { + anfang = anfang.elementEntfernen(daten); + } +} +class Eintrag { + void elementEntfernen(Daten daten) { + if (this.datenGeben() == daten) { + return naechsterGeben(); + } + nachfolger = nachfolger.elementEntfernen(daten); + return this; + } +} +class Abschluss { + void elementEntfernen(Daten daten) { return this; } } ``` |
