Bonjour je vous écris en espérant avoir de l'aide pour un probleme en caml. Mon probleme est le suivant:
Faire une fonction tri_selection_comp l qui retourne un couple constitué de la liste l triée dans l'ordre croissant et du nombre de comparaisons nécessaires pour le tri de la liste l, en faisant appel a la fonction min_reste_comp.
La fonction min_reste_comp retourne un triplet (e,r,c) composé d'un petit element e de la liste l, d'une liste r constituée des élements restants de la liste l et enfin du nombre de comparaisons nécessaires pour obtenir un plus petit élement de l : pour exemple min_reste_comp [4;3;9;5;26;8;7;9;7];; retourne -:int*int list*int=2,[4;3;9;5;2;6;8;7;9;7],10.

Et donc pour la fonction que je dois chercher :
exemple tri_selection_comp[4;3;9;5;2;6;8;7;9;7];; retourne -:int list*int=[2;2;3;4;5;6;7;7;8;9;9],5

j'ai commencé a le faire mais je ne vois pas comment le finir :

let rec tri_selection_comp l = match l with
|[] -> ([],0)
|[a] -> ([a],0)
....