Questão 31: insert
Voltar
Apresente uma definição recursiva da função (pré-definida) insert :: Ord a => a -> [a] -> [a]
que dado um elemento e uma lista ordenada retorna a lista resultante de inserir ordenadamente esse elemento na lista.
Exemplo
> insert 25 [1,20,30,40]
[1,20,25,30,40]
Resolução
insert :: Ord a => a -> [a] -> [a]
insert x [] = [x]
insert x (h:t)
| x > h = h : insert x t
| otherwise = x : h : t