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);;