Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Готовые лабораторные работы / 2 / 216
.hs --2.16. Сортировка. Описать алгоритм пузырьковой сортировки списка элементов произвольного типа. Порядок сортировки задаётся функцией типа f :: a -> a -> bool, возвращающей true, если элементы находятся в правильном порядке.
-- n^2
f216 [] f = []
f216 (l:ls) f = insert l (f216 ls f) f
insert a [] f = a:[]
insert a (l:ls) f = if (f a l) then
a:l:ls
else
l:(insert a ls f)
-- пример функции
f a b = a < b
-- n^2
f216 [] f = []
f216 (l:ls) f = insert l (f216 ls f) f
insert a [] f = a:[]
insert a (l:ls) f = if (f a l) then
a:l:ls
else
l:(insert a ls f)
-- пример функции
f a b = a < b