Következik egy teljes Euphoria program:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sequence list, sorted_list function merge_sort(sequence x) -- put x into ascending order using a recursive merge sort integer n, mid sequence merged, a, b n = length(x) if n = 0 or n = 1 then return x -- trivial case end if mid = floor(n/2) a = merge_sort(x[1..mid]) -- sort first half of x b = merge_sort(x[mid+1..n]) -- sort second half of x -- merge the two sorted halves into one merged = {} while length(a) > 0 and length(b) > 0 do if compare(a[1], b[1]) < 0 then merged = append(merged, a[1]) a = a[2..length(a)] else merged = append(merged, b[1]) b = b[2..length(b)] end if end while return merged & a & b -- merged data plus leftovers end function procedure print_sorted_list() -- generate sorted_list from list list = {9, 10, 3, 1, 4, 5, 8, 7, 6, 2} sorted_list = merge_sort(list) ? sorted_list end procedure print_sorted_list() -- this command starts the program ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A fenti példa tartalmaz 4 különálló parancsot. Az első meghatároz két változót: list és sorted_list, amik sorozatok (rugalmas tömb). A második definiál egy merge_sort() függvényt. A harmadik definiál egy printed_sorted_list() eljárást. Az utolsó utasítás meghívja a print_sorted_list() eljárást.
A program végeredménye:
{1, 2, 3, 4, 5, 6, 7, 8,
9, 10}.
merge_sort() egyszerűen rendezi a {1.5, -9, 1e6, 100} vagy {"oranges", "apples", "bananas"} .
Ez a példa megtalálható: euphoria\tutorial\example.ex. Nem ez a leggyorsabb módja a rendezésnek Euphoria-ban. Lépj az euphoria\demo könyvtárba és gépeld be "ex allsorts", ekkor láthatod néhány különböző rendező algoritmus futási idejét és a futási idő változását a rendezendő objektumok számától függően.