sort allows you to sort an array by using an expression to compare array elements with each other. The sort algorithm will call the expression each time two elements need to be compared. The expression can return:
an integer | < 0 | element precedes nextElement |
= 0 | element and nextElement are equal |
> 0 | element succeeds nextElement |
a boolean | true | element precedes nextElement |
false | element succeeds nextElement |
It is not determined, what sort algorithm will actually be used, though a Quicksort derivative is the most common.
Be aware that sort algorithms are not linear (typically n log n to n2 iterations for n elements). Therefore, you should keep the expression as compact as possible. |
When using a boolean expression, make sure that equality always returns true (e.g. by using <= instead of <). Otherwise, the implemented sort algorithm may take longer than necessary or not terminate at all. |