Stapel, Warteschlangen und verkettete Listen – Zeiger Schritt für Schritt
InformatikAlgorithmen und ProblemlösenAlter 17–18
Wird geladen …
Zum Starten anmeldenLegen Sie Elemente auf einen Stapel und nehmen Sie sie herunter, reihen Sie sie in lineare, zirkuläre und Prioritätswarteschlangen ein und aus, und fügen Sie Knoten in eine verkettete Liste ein, löschen und suchen Sie sie. Dabei sehen Sie, wie sich die Zeiger top, front, rear und head und die next-Verweise Zeile für Zeile in Python oder Pseudocode ändern, mit Überlauf und Unterlauf. Vergleichen Sie statische Arrays mit dynamischen Knoten und Zeigern samt Speicherbedarf und probieren Sie Anwendungen aus: Klammerprüfung, Rückgängig/Wiederholen, Druckwarteschlange und Aufrufstapel.
Lektion: Abstrakte Datenstrukturen: Stapel, Warteschlangen und verkettete Listen; Umsetzung mit Arrays und mit Zeigern
Was sie zeigt
Stapel, Warteschlangen und verkettete Listen sind abstrakte Datenstrukturen. Ein Stapel arbeitet nach „zuletzt hinein, zuerst heraus“: push und pop wirken oben. Eine Warteschlange arbeitet nach „zuerst hinein, zuerst heraus“: Elemente kommen hinten an und gehen vorne heraus; eine zirkuläre Warteschlange nutzt freie Zellen mit MOD erneut, eine Prioritätswarteschlange bedient die höchste Priorität zuerst. Eine verkettete Liste speichert jeden Wert in einem Knoten mit Zeiger auf den nächsten und endet mit einem Nullzeiger. Ein statisches Array reserviert einen festen Block und kann überlaufen; dynamische Knoten wachsen, brauchen aber Speicher für Zeiger.
So funktioniert es
Wählen Sie Stapel, Warteschlange, Verkettete Liste oder Anwendungen und eine Umsetzung. Geben Sie einen Wert ein und klicken Sie auf eine Operation wie Push, Enqueue oder An Position einfügen; der Code läuft Zeile für Zeile mit der gewählten Geschwindigkeit. Aktivieren Sie Zeile für Zeile und klicken Sie auf Nächste Zeile, oder auf Operation beenden. Beobachten Sie die Zeiger, das Feld Speicher und das Protokoll Operationen.
Einstellbare Parameter
- Modus Stapel, Warteschlange, Verkettete Liste, Anwendungen
- Umsetzung Statisches Array, Knoten und Zeiger (dynamisch)
- Art der Warteschlange Linear, Zirkulär, Priorität
- Kapazität des Arrays 3–10 Zellen
- Anwendung Klammerprüfung (Stapel), Rückgängig / Wiederholen (zwei Stapel), Druckwarteschlange (Warteschlange), Aufrufstapel
- Sprache Python, Pseudocode
- Geschwindigkeit 0,5–5 Zeilen/s
Fragen zum Erkunden
- Warum kann eine lineare Warteschlange voll sein, obwohl vorne Zellen frei sind, und wie löst eine zirkuläre Warteschlange das?
- Welche Zeiger ändern sich, wenn Sie einen Knoten in die Mitte einer verketteten Liste einfügen?
- Wie viele Bytes brauchen sechs ganze Zahlen als statisches Array und als verkettete Knoten in diesem Modell?