MINT üben

Die dynamische Reihung

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

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

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

A1
Bestandteile der Punkteliste
AFB I

Die Punkteliste eines Spiels ist ein DynArray<Integer> namens punkte mit den fünf gezeigten Werten. Zeichne ein, was an den Markierungen zu sehen ist: Hefte die Etiketten an die Markierungen. Zwei Etiketten gehören nicht dazu.

Wähle oben ein Etikett und klicke dann auf den passenden Marker im Bild oder in der Liste darunter. Mit der Tastatur: Tab zum Etikett, dann die Ziffer des Markers (1–4) drücken. Ein Klick auf einen beschrifteten Marker löst sein Etikett wieder. Nicht jedes Etikett wird gebraucht.
9075605540
    Gezählt wird ab 0: Das erste Feld hat Index 0, das dritte Feld Index 2 (hier der Wert 60) und das letzte bei fünf Elementen Index 4. Die Klammer unter allen Feldern steht für die Anzahl, getLength() liefert 5. Die Indizes 5 und −1 gibt es in dieser Reihung nicht.
    Der Index beginnt bei 0: Das erste Feld hat die Nummer 0, das zweite die Nummer 1 und so weiter.
    Das letzte Element hat den Index getLength() − 1. Die Klammer unter der ganzen Reihe zeigt, wie viele Felder es insgesamt gibt.
    A2
    Wenn Index und Länge wachsen
    AFB III

    Eine Reihung hat n Elemente (n ≥ 3). Bei insertAt(i, x) ist der Index i stets gültig. Bewerte die Folgen: Setze Pfeile dafür, wie sich die Größen verändern, wenn i bzw. n wächst (das jeweils andere bleibt gleich).

    Setze in jede Zelle einen Pfeil: ↑ steigt, ↓ sinkt, → bleibt gleich. Ein Klick dreht den Pfeil weiter; mit der Tastatur Tab zur Zelle, dann ↑, ↓ oder →. Unter der Tabelle steht deine Wahl als Satz.
    Größei wächstn wächst
    Elemente, die ihren Index ändern
    Elemente, die ihren Index behalten
    Länge danach

    Bei insertAt(i, x) rücken die n − i Elemente ab Index i; mit größerem i werden es weniger, dafür bleiben mehr Elemente an ihrem Platz. Die Länge danach ist n + 1 und hängt nicht von i ab. Wird n bei insertAt(0, x) größer, ändern alle n Elemente ihren Index, keines behält ihn, und die Länge n + 1 wächst mit.
    Zähle für kleine Zahlen nach, zum Beispiel mit n = 5 und den Indizes 1 und 3.
    Elemente vor Index i behalten ihren Platz, die ab i ändern ihn. Die Länge danach hängt nur von n ab, nicht von i.
    A3
    Wer rückt weiter?
    AFB I

    Berechne für jede Operation, wie viele Bücher der Reihe danach an einem anderen Index stehen. Die Stufe 1 bis 5 ist die Anzahl.

    Eine Bücherreihe mit fünf Büchern (Index 0 bis 4) ist ein DynArray. Berechne, wie viele der fünf bisherigen Bücher durch die Operation einen anderen Index bekommen (Stufe = Anzahl). Mit der Tastatur: Tab zur Zeile, ←/→ zwischen den Stufen, Enter setzt.
    1 = ein Buch5 = alle fünf
    delete(1)
    insertAt(3, "z")
    insertAt(0, "z")
    delete(3)
    delete(0)
    Bei insertAt(i, x) wandern alle Bücher ab Index i, also 5 − i Stück. Bei delete(i) wandern nur die Bücher hinter Index i, also 4 − i Stück. So ergeben sich 5, 4, 3, 2 und 1.
    Bei insertAt rücken alle Bücher ab dem Einfügeindex nach hinten, bei delete nur die Bücher hinter dem gelöschten.
    Zähle die Bücher ab (bzw. hinter) dem Index: Bei insertAt(3, "z") sind das die Bücher an Index 3 und 4, also 2.