Code source tri par "insertion"
let tri_insertion tableau=
let longueur=vect_length(tableau)-1 in
for i=1 to longueur do
let memoire=tableau.(i) and compteur=ref(i-1) and echange=ref(true) in
while(!echange) do
if tableau.(!compteur)>memoire then
begin
tableau.(!compteur+1)<-tableau.(!compteur);
compteur:=(!compteur)-1;
if (!compteur<0) then echange:=false;
end
else
echange:=false;
done;
tableau.(!compteur+1)<-memoire;
done;;
(* tri_insertion : 'a vect -> unit = <fun> *)