Difference between revisions of "SortATPAByMiddle"
From SCAR Divi Manual
Line 8: | Line 8: | ||
==Description== | ==Description== | ||
− | Sorts the given [[T2DPointArray]] '''ATPA''' by the distance of the middle of the points calculated with [[TPAMiddle]] to the origin (0,0) using the fast [http://en.wikipedia.org/wiki/Shell_sort ShellSort] algorithm. An extended function with additional functionality is available as [[SortATPAByMiddleEx]]. | + | Sorts the given [[T2DPointArray]] '''ATPA''' by the distance of the middle of the points of every non-empty subarray calculated with [[TPAMiddle]] to the origin (0,0) using the fast [http://en.wikipedia.org/wiki/Shell_sort ShellSort] algorithm. Empty subarrays are placed at the start of the array. An extended function with additional functionality is available as [[SortATPAByMiddleEx]]. |
==Example== | ==Example== |
Revision as of 10:03, 24 October 2011
Definition
procedure SortATPAByMiddle(var ATPA: T2DPointArray);
Availability
SCAR Divi 3.28 > Current
Description
Sorts the given T2DPointArray ATPA by the distance of the middle of the points of every non-empty subarray calculated with TPAMiddle to the origin (0,0) using the fast ShellSort algorithm. Empty subarrays are placed at the start of the array. An extended function with additional functionality is available as SortATPAByMiddleEx.
Example
var ATPA: T2DPointArray; i: Integer; begin SetLength(ATPA, 3); ATPA[0] := [Point(1, 6), Point(5, 4), Point(1, 5)]; ATPA[1] := [Point(1, 1), Point(2, 2)]; ATPA[2] := [Point(5, 10)]; SortATPAByMiddle(ATPA); for i := 0 to High(ATPA) do WriteLn(TPAToStr(ATPA[i])); end.
Output:
(1,1);(2,2) (1,6);(5,4);(1,5) (5,10)