(* ===================================================== *)
(*      Apprentissage de la programmation avec OCaml     *)
(*      Catherine Dubois & Valérie Ménissier-Morain      *)
(*                Éditions Hermès Sciences               *)
(*                        Mars 2004                      *)
(* ===================================================== *)
(* Fichier MLSRC/Tris_listes/selection_liste.ml          *)
(* ===================================================== *)

let rec min_liste l = match l with
| [] -> failwith "min_liste: liste vide"
| [x] -> x
| x::l' -> min x (min_liste l');;

let rec supprimer e l = match l with
| [] -> []
| x::l' -> if x=e then l' else x::(supprimer e l');;

let rec tri_sélection l = match l with
| [] -> []
| _ -> let m = min_liste l in
         let
 l' = supprimer m l in m::(tri_sélection l');;

Ce document a été traduit de LATEX par HEVEA.