1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Pascal-STAPEL(sortieralgorithmus)

    • Frage
  • Johannes123
  • 25. Februar 2008 um 18:01
  • Unerledigt
  • Johannes123
    3
    Johannes123
    Mitglied
    Punkte
    95
    Beiträge
    13
    • 25. Februar 2008 um 18:01
    • #1

    Hallo! Hab hier ein Programm Stapelsort. Es sortiert halt die Zahlen.

    Unklar ist mir die Prozedur "Stapelzeigen": Wieso wird hier nicht direkt ausgegeben, sondern noch zweimal umgestapelt?? Das bringt es doch nicht! Bei zweimal umstapeln, wär ich doch wieder beim alten?!?
    Bitte Erklärung!

    Außerdem unklar, wie das ganze im Hauptprogramm ab "REPEAT" abläuft! Was passiert da genau (also Schritt für Schritt). Wäre ganz nett, wenn mir das jemand erklären könnte. Ich weiß zwar, dass irgendwie "umgestapelt" wird aber die Reihenfolge ist mir nicht ganz klar und wie das genau passiert!

    Ich hoffe mir kann jemand helfen.

    MfG
    Johannes

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 25. Februar 2008 um 18:39
    • #2

    als pascal-unprofi will ichs trotzdem mal versuchen:

    stapelzeigen: die aufgabe ist, dass dein stapel von vorne bis hinten durchlaufen wird und jedes element ausgegeben wird. das blöde dabei ist, dass bei einem stapel nur das oberste element weggenommen werden kann (pop) und das oberste element eingefügt werden kann (push). darum ist es notwendig, einen zweiten stapel zu deklarieren (HILF), der als zwischenspeicher dient. das aktuell gepoppte element wird ausgegeben und auf HILF draufgelegt.
    da der originalstapel mit der ganzen popperei jetzt leer ist, muss dieser wieder in den originalzustand versetzt werden -> deshalb brauchst du die zweite schleife.
    einfach den zeiger umdrehen (also WURZEL:=HILF) funktioniert deshalb nicht, weil die reihenfolge dadurch umgekehrt wird (am besten aufzeichnen).


    soda, 2. frage: hier wird die sortierung vorgenommen. wenn du dir das ganze aufzeichnest, was da passiert verstehst du das sicher. MIN ist dein ergebnisstapel. da stehen die zufallszahlen abschliessend sortiert drin. HILF ist ein hilfsstapel. den brauchst du, um 2 werte zu vertauschen.


    verständlich?

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • Johannes123
    3
    Johannes123
    Mitglied
    Punkte
    95
    Beiträge
    13
    • 25. Februar 2008 um 19:16
    • #3

    So also nochmal zu 2:
    Sag bescheid, wo ein Denkfehler liegt!
    Ich probiers einfach, obwohl ich nicht ganz weiterkomme:
    Also zuerst wird ja durch der ganze Sort-Stapel leer gemacht und auf den Min-Stapel übertragen, bis keine Elemente(nennt man das Elemente? oder kann ich knoten sagen?) mehr im Sort-Stapel sind. Dabei wird immer der Wert, auf den der Sort-Zeiger zeigt mit dem Wert, auf den der Min-Zeiger zeigt verglichen und wenn eben der Sort-Wert kleiner als Min ist, dann wird der Min-Wert (oder wie nennt man das? Objekt? Knoten? ka-korrektur bitte!!!) auf den Hilfs-Stapel gebracht und der Sort-Wert auf den Min-Stapel. Ist der Sort-Wert nicht kleiner als Min, kommt das Sort-Objekt/Knoten/oder what ever auf den Hilfsstapel, right?

    Doch was dann? Wird Sort=Hilf gesetzt??????? und Hilf=Nil??? Wieso? Wann passiert das? Oder kommt man wieder in die If Bedinung??? Oder fängt das wieder bei Repeat an? ICH HABE KEINE AHNUNG!

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 25. Februar 2008 um 22:26
    • #4
    Zitat von Erklärbär

    da der originalstapel mit der ganzen popperei jetzt leer ist


    Das germanische Kleinkind in mir musste jetzt laut kichern.

    lg, Benjamin Ferrari, bookworm.at

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 25. Februar 2008 um 22:39
    • #5

    ich habs mir verkniffen und extra nicht stack geschrieben. du musst wissen, dass mein t nicht immer funkionier

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern