OCaml (option informatique) · Chapitre 9 · Application directe du cours
Fusionner deux listes triées
Algorithmique : les tris · niveau 1 (application)
É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].
Exercices semblables
- Valider un tri corrigé
- Le tri par dénombrement corrigé
- Insérer sans
@— fusion optimisée corrigé - Vérifier qu'une liste est triée corrigé
- Insertion dans une liste triée corrigé