Echt? Geht Doch.
Delphi-Quellcode:
Function ComparePoints(Const P1, P2 : TFloatPoint) : Integer;
Begin
Result := SortCompareX(p1,p2);
if Result = 0 then REsult := SortCompareY(p1,p2);
End;
procedure TFloatPoints.FastRemoveDoubles;
var
i,j : Integer;
Begin
QuickSort(0,Count-1,ComparePoints);
j:=0;
For i:=1 to Count - 1 do
if ComparePoints(Fitems[i],fItems[j])<>0 then begin
inc(j);
fItems[j] := fItems[i];
end;
fCount := j;
End;
Oder hatte ich was anderes geschrieben?
Im älteren Code von dir schien aber die Quicksort-Methode nicht richtig zu sortieren, jedenfalls bei mir. Aber jetzt scheint alles in Ordnung zu sein.