Exercices de programmation pour classes préparatoires
Écrire une fonction separer : ('a -> bool) -> 'a list -> 'a list * 'a list qui sépare une liste en deux selon un prédicat. La première liste contient les éléments qui satisfont le prédicat, la seconde ceux qui ne le satisfont pas. L'ordre relatif des éléments est préservé dans chaque liste.
| Appel | Résultat attendu |
|---|---|
| separer (fun x -> x > 0) [1; -2; 3; -4] | ([1; 3], [-2; -4]) |
| separer (fun x -> x mod 2 = 0) [1; 2; 3; 4] | ([2; 4], [1; 3]) |
Connectez-vous pour soumettre du code.