**Synopsis**Sort an array

**Usage**`Array_Type array_sort (Array_Type a, String_Type f)`

**Description**`array_sort`

sorts the array`a`

into ascending order according to the function specified by the name`f`

and returns an integer array that represents the result of the sort.The sort function represented by

`f`

must be a**S-lang**user-defined function that takes two arguments. The function must return an integer that is less than zero if the first parameter is considered to be less than the second, zero if they are equal, and a value greater than zero if the first is greater than the second.The integer array returned by this function is simply an index that indicates the order of the sorted array. The input array

`a`

is not changed.**Example**An array of strings may be sorted using the

`strcmp`

function since it fits the specification for the sorting function described above:

After thevariable A = String_Type [3]; A[0] = "gamma"; A[1] = "alpha"; A[2] = "beta"; variable I = array_sort (A, "strcmp");

`array_sort`

has executed, the variable`I`

will have the values`[2, 0, 1]`

. This array can be used to re-shuffle the elements of`A`

into the sorted order via the array index expression`A = A[I]`

.**Notes**The current sorting algorithm is a heap-sort.

**See Also**`strcmp`

Next Previous Contents