let rec fusionner inferieur l1 l2 =
match l1,l2 with
(l, []) | ([], l) -> l
| (h1::t1), (h2::t2) ->
if inferieur h1 h2
then h1::(fusionner inferieur t1 l2)
else h2::(fusionner inferieur l1 t2);;
Remarquez que l'on a couvert tous les cas dans le match: la première clause couvre le cas où l'une
au moins des listes est vide, la seconde le cas où les deux listes ont
au moins un élément. On pourra aussi écrire:
let rec fusionner inferieur l1 l2 =
match l1,l2 with
(l, []) | ([], l) -> l
| (h1::t1), (h2::t2) when inferieur h1 h2 ->
h1::(fusionner inferieur t1 l2)
| (h1::t1), (h2::t2) -> h2::(fusionner inferieur l1 t2);;