![]() |
Re: 4 dimensionalen Array sortieren
Zitat:
*nochmal in die Wikipedia guckt* ![]() Jo, genau so, wie ichs im Kopf hatte: Die Reihenfolge gleichwertiger Elemente wird nicht verändert. Das ist bei QuickSort aber nicht der Fall(im Normalfall jedenfalls). [wie gesagt, ich hatte die Frage falsch verstenden/nicht aufnmerksam genug gelesen] Du bezieht Stabilität aber auf das Funktionieren des Algorithmus. Ohne eindeutige Vergleichsoperation ist (vergtleichsbasiertes) Sortieren IMHO unmöglich ==> Fehler bei der Implementierung der Compare-Funktion. QuickSort als Algo funktioniert aber trotzdem. Oder hab ich dich falsch verstanden? :gruebel: mfg Christian |
Re: 4 dimensionalen Array sortieren
Nöö, ist absolut korrekt so ;)
Ich erwähnte dies nur weil ich denke das viele Programmierer so arbeiten wie ich. Sie öffnen Classes.pas, kopieren sich die QuickSort Sourcen von TList, ändern sie an ihre Bedürfnisse, bauen ihre Compare Callbacks und wenn diese nicht saubere/stabile Vergleichsoperationen durchführt, wundern sie sich dann das ihr QuickSort eine Endloss-Sortierung durchführt. Sprich: ich wollte ein bischen meiner Erfahrungen mitgeben ;) Gruß Hagen |
Re: 4 dimensionalen Array sortieren
habe ich nun auch versucht vom quicksort auf den Mergsort zu wechseln, da dieser stabiler ist und auch zur Sortierung von verketteten Listen geeignet.
![]() Allerdings scheint mein Programm da einen Fehler zu haben. ![]() Fehler:
Delphi-Quellcode:
in form1.hilf[x] := StrToInt(form1.Stringgrid1.cells[x,0]); //dynamische Array
Im Projekt Mergesort.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''' ist kein gültiger Integerwert'. Prozeß wurde angehalten. Fortfahren mit Einzelschritt oder Start.
x ist in dem Falle Null bzw. = 0. weil der Algo sich schon ein paar mal aufgerufen hat. kann sich jemand erklären, ob warum das so ist? bzw. hat auch jemand ne Idee, wie ich die Zeilen in den Records damit sortiert bekomme (wenn Mergesort funktioniert) Also ich bin momentan ratlos. |
Re: 4 dimensionalen Array sortieren
Zitat:
mfg Christian |
Re: 4 dimensionalen Array sortieren
ok, gedacht hab ich mir das auch ...
aber wie kann das sein? ich mein.... der algo ist doch so übernommen. und es gibt doch maximal 10 Einträge. wie kommt man dann auf Null? Was kann ich denn abändern, damit das Ding durchläuft? |
Re: 4 dimensionalen Array sortieren
Sorry, hab momentan meine Glasgugel verlegt. Mir fehlen n paar Infos:
- dein genauer Code - der Inhalt deines StringGrids - ... Ach und noch ne Frage: Hast du schon mal den Debugger bemüht? Was sagt der denn? mfg Christian |
Re: 4 dimensionalen Array sortieren
Code:
Sorry, hab momentan meine Glasgugel verlegt. Mir fehlen n paar Infos:
- dein genauer Code ![]() (hatte das schon umseitig gepostet)
Code:
wie meinste das?
- der Inhalt deines StringGrids
- ... Das is anfangs leer.
Code:
ja, aber nix ungwöhnliches Entdeckt
Ach und noch ne Frage:
Hast du schon mal den Debugger bemüht? Was sagt der denn? also bin auch teilw mit F7 durchgesteppt. |
Re: 4 dimensionalen Array sortieren
Zitat:
Zitat:
Zitat:
mfg Cheristian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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