Hallo,
ich habe endlich den casus cnactus gefunden.
Deine SortCompareX darf nur mit eps= 0 arbeiten.Ich habe wie blöd gesucht, warum größere x-Werte vor kleineren auftauchten....
Ich hab jetzt auf einem Kreis mit Radius cEps um Punkt A verglichen.
RemoveDoublesII behält die Daten in der Ausgangsliste, also muss kein extra Feld angelegt werden.
[.. Code ..]
Danke für den Code. Der gepostete Algo macht es aber leider nicht.
.. and (tmpf.X >= FItems[ll].X + cEps) do
weiß nicht recht..
Und das Eps von Null ist ja auch nur eins von 1E-15 oder so.
Anyway.
Bin eigentlich mit meinem Code #61 zufrieden. 100.000 Punkte 1..2 sec.
Edit: Man kann sich die zuzsätzlichen Listen auch sparen, wenn man direkt QuickSort(Von, Bis) durchführt. So fand ich's aber übersichtlicher.
LG
Thomas