SortBodiesLeftRight provides a stable implementation of merge sort through its sort
method. It should be used instead of Array.sort
in cases where the order
of equal elements has to be retained on all targets.
This specific implementation has been modified to be exclusively used with array of arcade.Body
instances.
The compare function (and the rest of the implementation) are inlined to get the best performance out of it.
Static methods
staticinlinesort(a:Array<Body>):Void
Sorts Array a
according to the comparison function cmp
, where
cmp(x,y)
returns 0 if x == y
, a positive Int if x > y
and a
negative Int if x < y
.
This operation modifies Array a
in place.
This operation is stable: The order of equal elements is preserved.
If a
or cmp
are null, the result is unspecified.