Difference between revisions of "SortATPAByMean"

From SCAR Divi Manual
Jump to: navigation, search
(Created page with "==Definition== <source lang="scar" lines="false"> procedure SortATPAByMean(var ATPA: T2DPointArray); </source> ==Availability== SCAR Divi 3.38 > Current ===Aliases=== *SortA...")
 
 
Line 11: Line 11:
  
 
==Description==
 
==Description==
Sorts the given [[T2DPointArray]] '''ATPA''' by the distance of the arithmetic mean 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 [[SortATPAByMeanEx]].
+
Sorts the given [[T2DPointArray]] '''ATPA''' by the distance of the arithmetic mean of the points of every non-empty subarray calculated with [[TPAMean]] 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 [[SortATPAByMeanEx]].
  
 
==Example==
 
==Example==

Latest revision as of 19:07, 22 November 2012

Definition

procedure SortATPAByMean(var ATPA: T2DPointArray);

Availability

SCAR Divi 3.38 > Current

Aliases

  • SortATPAByMiddle (SCAR Divi 3.28 > 3.37)

Description

Sorts the given T2DPointArray ATPA by the distance of the arithmetic mean of the points of every non-empty subarray calculated with TPAMean 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 SortATPAByMeanEx.

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)];
  SortATPAByMean(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