Entwickler-Ecke

Sonstiges (Delphi) - Mergesort error


zeustates - Mo 12.10.15 16:48
Titel: Mergesort error
Hallo,
ich hoffe dass ich das an der richtigen stelle poste.
Ich habe eine klasse für den Merge sort geschrieben. jetzt bekomme ich wenn ich die einlesen procedure ausführe einen sigsegev error bei einem "begin"
meine lazarus version ist 1.2.6
HIer ist mal meine Klasse DAnke im vorraus


platzwart - Mo 12.10.15 18:33

Verrätst du uns auch, bei welchem begin?


Delphi-Laie - Mo 12.10.15 19:06

Die gleiche Antwort wie in der Delphipraxis:

Sigsev? Das kenne ich von Lazarus(-Compilaten). Benutzt Du Lazarus?

Mergesort benutze ich in rekursiver und "halb-rekursiver" Form in meinem Sortierkino [http://www.entwickler-ecke.de/viewtopic.php?t=95246&start=0&postorder=asc], es läuft auch mit Lazarus-Compilaten.


ub60 - Mo 12.10.15 19:59

Dein Quelltext umfasst nur die Klasse, aber nicht deren Aufruf. Eventuell steckt der Fehler dort.
Der angegebene SIGSEGV-Error tritt zumindest immer auf, wenn auf ein noch nicht mit Create erzeugtes Objekt zugegriffen wird.

ub60


Delphi-Laie - Mo 12.10.15 21:39

Es ist ratsam, mit einem fuktionierendem, einfachen, rekursiven Mergesort (wie er z. B. im Internetauftritt der FH Flensburg zu finden ist) zu beginnen und dieses dann zu einer Klasse auszubauen zu versuchen. Prüft man währenddessen immer wieder auf Funktionstüchtigkeit, kommt man dem Fehler ganz allein auf die Spur. Die Folge dieses Vorgehens war, daß ich bei keinem (!) der von mir implementierten Sortieralgorithmen irgendein Forum um Hilfe bat.

Ergänzung: Jedenfalls nicht, nachdem er als Delphi-Quelltext vorlag. Nur bei B-Sort half mir das Forum planet-quellcodes.de, indem die C-artigen Quelltexte von sortieralgorithmen.de jemand nach Pascal portierte.