Fusionner deux listes triées
Exercice · OCaml (option informatique), chapitre 9 — Algorithmique : les tris
Énoncé
Écrire fusion l1 l2 et l'appliquer à fusion [1; 4] [2; 3; 5].
Corrigé
let rec fusion l1 l2 =
match l1, l2 with
| [], _ -> l2
| _, [] -> l1
| x :: r1, y :: r2 ->
if x <= y then x :: fusion r1 l2
else y :: fusion l1 r2
fusion [1;4] [2;3;5] : → 1 :: fusion [4] [2;3;5] ; → 1 :: 2 :: fusion [4] [3;5] ; → ... 3 :: fusion [4] [5] ; → [1; 2; 3; 4; 5].
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.