AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

Ein Thema von Caspar · begonnen am 8. Sep 2017 · letzter Beitrag vom 25. Sep 2017
Antwort Antwort
Caspar
(Gast)

n/a Beiträge
 
#1

AW: Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

  Alt 8. Sep 2017, 18:57
Ja, 0 ist im Prinzip l, da es auf dem String Grid ja kein Links und Rechts gibt ist Links dann oben, also 0.
Rechts / r ist dann unten, ergo 999.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

  Alt 8. Sep 2017, 19:07
Nein, nur beim ersten Aufruf, danach wird jeweils neu entschieden, welcher Bereich sortiert werden soll. Das ist jeweils entweder die obere Hälfte des noch nicht sortierten Bereiches oder die untere Hälfte.

So wie Du das machst, wird bei jedem Aufruf immer alles sortiert und das rekursive, also mit jedem Aufruf immer alles und mit dem nächsten Aufruf wieder alles ... - daraus resultiert dann der Stackoverflow, weil die Rekursion nie beendet wird.

Ändere Deine Routine bitte mal entsprechend meines Vorschlages und prüfe, ob der Fehler weg ist, dann prüfe, ob die Sortierung korrekt ist, wenn nein, dann beschreibe uns bitte die aufgetretenen Fehler, damit wir weiterschauen können.

Das Ignorieren der Werte von l und r ist aber auf jeden Fall falsch.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

  Alt 8. Sep 2017, 19:36
Delphi-Quellcode:
i:=l
j:=r
am Prozeduranfang oder gleich l und r in der Prozedur verwenden.
  Mit Zitat antworten Zitat
Caspar
(Gast)

n/a Beiträge
 
#4

AW: Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

  Alt 8. Sep 2017, 19:54
Ok, ich habe jetzt wie @nahpets gesagt hat alle "0" und "999" durch l und r ersetzt. Also für 0 l und für 999 l und es funktioniert!

Vielen Dank an euch alle, das ihr mir einerseits geholfen habt und anderseits so schnell geantwortet habt
Ich bin mir noch nicht ganz sicher warum es jetzt auf einmal klappt, aber ich glaube ich komme bald dahinter

Ich hoffe ich werde irgendwann auch mal so gut in Informatik, damit ich dann auch Anfängern, wie mir, helfen kann

Ich wünsche euch noch ein Angenehmen Abend!
Lg, Caspar
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Hab ein Stack Overflow, wenn ich mein Quicksort ausprobiere :(

  Alt 8. Sep 2017, 20:03
Lies Dir mal dashier durch: https://de.wikipedia.org/wiki/Quicksort

Falls die Erklärung nicht ausreicht, um es zu verstehen, suche Dir weitere Beschreibungen zum Quicksort.

Wenn's dann noch nicht reicht, melde Dich nochmal mit konkreten Fragen zu dem, was dann noch unverständlich ist.

Mal meine böse Formulierung:

"Gut in Informatik" heißt: Kein Problem wird zur Seite gelegt, solange es nicht vollständig verstanden ist.

Ein "Wird so schon richtig sein!" führt früher oder später zu endlosen Nächten der Fehlersuche und ungesundem Kaffeekonsum
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz