mergesort : ('a -> 'a -> bool) -> 'a list -> 'a list
- SYNOPSIS
-
Sorts the list with respect to given ordering using mergesort algorithm.
- DESCRIPTION
-
If ord is a total order, a call mergesort ord l will sort the list l
according to the order ord. It works internally by a mergesort algorithm.
From a user's point of view, this just means: (i) its worst-case performance is
much better than sort, which uses quicksort, but (ii) it will not reliably
topologically sort for a non-total order, whereas sort will.
- FAILURE CONDITIONS
-
Never fails unless the ordering function fails.
- EXAMPLE
-
# mergesort (<) [6;2;5;9;2;5;3];;
val it : int list = [2; 2; 3; 5; 5; 6; 9]
- SEE ALSO
-
merge, sort.