home *** CD-ROM | disk | FTP | other *** search
- (*
- * MergeSort
- *
- * This function sorts a sequence of numbers or strings into ascending order
- * using merge sort.
- *
- * Examples:
- *
- * <3 1 4 1 5 9 2> : MergeSort == <1 1 2 3 4 5 9>
- *
- * <all work and no play> : MergeSort == <all and no play work>
- *
- * The sequence may not mix strings and numbers.
- *)
- DEF MergeSort AS
- IF [length,#2] | < THEN id
- ELSE
- [id, [length,#2] | div] |
- [takel,dropl] | EACH MergeSort END | Merge
- END;
-