je viens de commencer a utiliser Ocaml et je n'arrive pas a bien cerner les fonctions récursives.habitué au C la récursivité en Ocaml est je trouve assez difficile à comprendre lorceque l'on débute.Bref voici mon problème :
je souhaite faire une fonction qui insert un élément dans une liste déja triée.
insert [10;20;30;50;60] 40 devrait retourner [10;20;30;40;50;60]
voici mon code :
let rec insert l a = match l with |[]->[] |tete::queue -> if(a<=tete) then a::queue else tete::(insert queue a);;
et voici le resultat :
insert[10;20;30;50;60;70;80] 40 ;;
-: int list = [10; 20; 30; 40; 60; 70; 80]
je vois bien le problème mais je ne vois pas la solution pour réaliser une étape supplémentaire qui permettrait de gérer l'élément 50 de ma liste
Si vous avez des sites qui proposent des exercices sur les listes avec ou sans correction je suis preneur.
Merci
