MINT lernen

Die dynamische Reihung

Zehn Übungen zur dynamischen Reihung — vom Lesen einzelner Operationen bis zum Tauschen zweier Elemente.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn interaktive Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung.

A1
Was stimmt über DynArray?
AFB I

Welche Aussagen über die dynamische Reihung sind richtig?

Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
Die Reihung ist immer lückenlos: Nach delete rücken die folgenden Elemente nach, nach insertAt rücken sie weiter. Überschrieben wird nur mit setItem.
A2
Stimmt's? — Fünferserie
AFB I

Fünf Behauptungen zu den Operationen der dynamischen Reihung.

5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Merke: Indizes laufen von 0 bis getLength() - 1 — ein Index mehr gibt es nicht.
A3
Operation trifft Wirkung
AFB I

Verbinde jede Operation mit ihrer Wirkung.

A4
Was passiert mit der Länge?
AFB II

Die Reihung enthält vorher jeweils 4 Elemente. Sortiere die Aufrufe danach, wie sich getLength() verändert.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Länge + 1
2Länge − 1
3Länge bleibt
Nur drei Operationen ändern die Länge: append und insertAt verlängern, delete verkürzt. Lesen und Ersetzen lassen sie gleich.
A5
Welche Operation passt?
AFB II

Eine Anmeldeliste für eine Exkursion wird als DynArray verwaltet. Kreuze für jede Situation die passende Operation an.

Setze in jeder Zeile das passende Kreuz — hier ist es genau eins pro Zeile. Enter setzt und löscht.
SituationappendinsertAtsetItemdeletegetItem
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?
Bei der Absage darf nichts „leer“ bleiben — delete rückt die Nachfolger auf. Beim Tippfehler dagegen ersetzt setItem, ohne jemanden zu verschieben.
A6
Operationen nachverfolgen
AFB II

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.

Arbeite die Kette Schritt für Schritt ab: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. getLength() nach den drei Operationen
  2. getItem(1)
  3. nach f.delete(0): getItem(1)
  4. nach f.setItem(0, "Grün"): getLength()
Nach insertAt(0, "Blau") lautet die Reihung [Blau, Rot, Gelb]; nach delete(0) [Rot, Gelb]. setItem ändert die Länge nicht.
A7
Zustände in zeitlicher Folge
AFB II

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.

Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1 [3]
2 [3, 8]
3 [5, 3, 8]
4 [5, 8]
5 [5, 8, 1]
delete(1) entfernt die 3, nicht die 8: Nach dem Einfügen der 5 steht die 3 an Index 1.
A8
Protokoll mit Fehlern
AFB III

Ausgangspunkt ist in jeder Zeile die Reihung [A, B, C, D]. Welche Protokollzeilen sind falsch?

In diesem Text stecken Fehler. Klicke genau die falschen Zeilen an — die richtigen musst du stehen lassen.
Der Klassiker unter den Fehlern ist Zeile 5: Wer bei 1 zu zählen beginnt, sucht das vierte Element an Index 4.
A9
Zwei Elemente tauschen
AFB III

In der Reihung [K, L, M] sollen die Elemente an Index 0 und 2 getauscht werden. Spiele den Algorithmus durch.

Spiele den Ablauf Schritt für Schritt durch: Was passiert als Nächstes? Nur die richtige Karte bringt dich weiter.
    Tauschen braucht immer eine Hilfsvariable — genau wie beim Umfüllen zweier Gläser ein drittes Glas.
    A10
    Wie lang ist die Reihung?
    AFB III

    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()?

    Rechne selbst und trage das Ergebnis ein — Enter prüft direkt.
    5 + 1 − 1 + 1 − 1 − 1 = 4. Dass mit l.getLength() - 1 gerechnet wird, ändert nichts: Gelöscht wird trotzdem genau ein Element.