Adloun

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

Le cours du chapitre · Tous les exercices du chapitre