Difference between revisions of "SortATPAByMiddle"

From SCAR Divi Manual
Jump to: navigation, search
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 11: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)

See Also