Übungsaufgaben
Zehn interaktive Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung.
Welche Aussagen über die dynamische Reihung sind richtig?
delete rücken die folgenden Elemente nach, nach insertAt rücken sie weiter. Überschrieben wird nur mit setItem.Fünf Behauptungen zu den Operationen der dynamischen Reihung.
getLength() - 1 — ein Index mehr gibt es nicht.Verbinde jede Operation mit ihrer Wirkung.
insertAt und setItem. Nur insertAt verändert die Länge.Die Reihung enthält vorher jeweils 4 Elemente. Sortiere die Aufrufe danach, wie sich getLength() verändert.
append und insertAt verlängern, delete verkürzt. Lesen und Ersetzen lassen sie gleich.Eine Anmeldeliste für eine Exkursion wird als DynArray verwaltet. Kreuze für jede Situation die passende Operation an.
| Situation | append | insertAt | setItem | delete | getItem |
|---|---|---|---|---|---|
| Eine neue Anmeldung kommt hinzu. | |||||
| Die Person auf Platz 2 sagt ab. | |||||
| Der Name auf Platz 0 ist falsch geschrieben. | |||||
| Die Lehrkraft soll ganz vorn auf Platz 0 stehen. | |||||
| Wer steht auf Platz 3? |
delete rückt die Nachfolger auf. Beim Tippfehler dagegen ersetzt setItem, ohne jemanden zu verschieben.Gegeben ist der Quelltext:
DynArray<String> f = new DynArray<String>();
f.append("Rot");
f.append("Gelb");
f.insertAt(0, "Blau");Beantworte die Fragen der Reihe nach — die Operationen darunter wirken jeweils zusätzlich.
- getLength() nach den drei Operationen
- getItem(1)
- nach f.delete(0): getItem(1)
- nach f.setItem(0, "Grün"): getLength()
insertAt(0, "Blau") lautet die Reihung [Blau, Rot, Gelb]; nach delete(0) [Rot, Gelb]. setItem ändert die Länge nicht.Eine leere Reihung l erlebt nacheinander: append(3), append(8), insertAt(0, 5), delete(1), append(1). Bringe die Zustände in die richtige Reihenfolge.
delete(1) entfernt die 3, nicht die 8: Nach dem Einfügen der 5 steht die 3 an Index 1.Ausgangspunkt ist in jeder Zeile die Reihung [A, B, C, D]. Welche Protokollzeilen sind falsch?
In der Reihung [K, L, M] sollen die Elemente an Index 0 und 2 getauscht werden. Spiele den Algorithmus durch.
Eine Reihung l hat 5 Elemente. Nacheinander werden ausgeführt: l.insertAt(0, "x"), l.delete(l.getLength() - 1), l.append("y"), l.delete(0), l.delete(0). Welchen Wert liefert danach l.getLength()?
l.getLength() - 1 gerechnet wird, ändert nichts: Gelöscht wird trotzdem genau ein Element.