Trier par heure de fin
Exercice · OCaml (option informatique), chapitre 12 — Algorithmes gloutons
Énoncé
Écrire tri_fin qui trie une liste d'activités par fin croissante.
Corrigé
let rec tri_fin l =
let rec insere a l =
match l with
| [] -> [a]
| b :: reste -> if a.fin <= b.fin then a :: l else b :: insere a reste
in
match l with
| [] -> []
| a :: reste -> insere a (tri_fin reste)
C'est le tri par insertion du chapitre 9, mais comparant le champ fin des enregistrements (un tri générique < les comparerait par debut d'abord, ce qu'on ne veut pas). Trier par fin est l'étape clé du glouton.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.