sobota, 10 lutego 2018

Sortowanie - Standard ML

Treść zadania:

Napisz dwie funkcje:
Pierwsza przyjmie za argument listę i posortuje jej elementy od najmniejszego do największego.
Druga przyjmie za argument listę i posortuje jej elementy od największego do najmniejszego.

Przykład:
sorting_low_first([10,3,7,2,9,4,5,1,8,6]) = [1,2,3,4,5,6,7,8,9,10]
sorting_hight_first([10,3,7,2,9,4,5,1,8,6]) = [10,9,8,7,6,5,4,3,2,1]

Kod źródłowy:
fun insert_low_first(a,x) = if null(x) then a::[] else if a<hd(x) then a::x else hd(x)::insert_low_first(a,tl(x))
fun sorting_low_first(x:int list) = if null(x) then [] else insert_low_first(hd(x),sorting_low_first(tl(x)));

fun insert_hight_first(a,x) = if null(x) then a::[] else if a>hd(x) then a::x else hd(x)::insert_hight_first(a,tl(x))
fun sorting_hight_first(x:int list) = if null(x) then [] else insert_hight_first(hd(x),sorting_hight_first(tl(x)));


Dane testowe:
sorting_low_first([10,3,7,2,9,4,5,1,8,6]);
sorting_hight_first([10,3,7,2,9,4,5,1,8,6]);


Brak komentarzy:

Prześlij komentarz