Profile

Array.sort

Array.sort

NAME

Array::sort - Sort an array.

SYNOPSIS

Void sort( var [a] xs, Int(a, a) sortfn=compare )

ARGUMENTS

xs The array to sort

sortfn Optionally, a user-defined comparison function.

DESCRIPTION

Sort an array in-place using the quicksort algorithm. By default this uses the Builtins.compare(3kaya) function and sorts in ascending order, but it can instead use a user supplied compare function.


 xs = [3,5,1,2,6,1];
 sort(xs); // [1,1,2,3,5,6]

Comparison functions should return 0 if the values are identical, less than zero if the first value passed to the function is 'smaller', and more than zero if the second value is 'bigger'. In this context, 'smaller' values are moved to the start of the array, and 'bigger' values to the end. The following example has a simple function to sort an array of Int s into descending order.


 Int rsort(Int a, Int b) {
     return b-a;
 }
 
 Void main() {
     xs =  [3,5,1,2,6,1];
     sort(xs,rsort); // [6,5,3,2,1,1]
 }

Values that are identical for the purposes of the sorting function will be placed in an undefined order relative to each other.

AUTHORS

Kaya standard library by Edwin Brady, Chris Morris and others (kaya@kayalang.org). For further information see http://kayalang.org/

LICENSE

The Kaya standard library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (version 2.1 or any later version) as published by the Free Software Foundation.

RELATED

The Array.sorted(3kaya) function returns a sorted copy of the array, rather than sorting in place.

Latest Tech News
Your Notes

Sign in/Sign up

Signing in to our system allows you to post your contributions and vote on the contributions of others. It will also allow you to get extra perts like having your favorites in the cloud and having your persistent personal notes wherever you go. More will be added as we scale up our services.

By signing in to our system, you agree our Member Terms and Conditions


Sign-in with one of the following services

Almost finished!

Please select a screen name for NET SOUP.



 Please send me news and special offers from NET SOUP.

 I have read and accept the Terms of Use.

COMPLIMENTARY EXAMPLES

We have no example yet for this entry


Your Name
Now

Community Contributions and Discussions

Modify your search

View Documentation

Jobs from Indeed