(* calcular a lista de todas as listas possíveis que resultam da inserção de e em l. val insertions e l : 'a -> 'a list -> 'a list list insertions e [] = [[e]] insertions e [c] = [[e;c];[c;e]] insertions e [b;c] = [[e;b;c];[b;e;c];[b;c;e]] insertions e [a;b;c] = [[e;a;b;c];[a;e;b;c];[a;b;e;c];[a;b;c;e]] logo: insertions e el::li = juntar e::el::li a (el::(todos os elementos de (insertion e li))) *) open List let rec insertions e l = match l with [] -> [[e]] x::xs -> (e::l) :: (map (fun li -> x::li) (insertions e xs))
This document was generated using caml2html