Code source tri par "selection"

let tri_selection tableau=
  let longueur=ref((vect_length tableau)-1) in
  
  while (!longueur>1) do
    let maxi=ref(0) in
    for i=0 to (!longueur) do
      if tableau.(!maxi)<tableau.(i) then maxi:=i;
    done;
    
    echanger tableau (!maxi) (!longueur);
    longueur:=(!longueur)-1;
  done;;
(* tri_selection : 'a vect -> unit = <fun> *)