Code source du tri rapide
let rec partition liste pivot=
match liste with
|[]->[],[]
|tt::qq->
let (l1,l2)=partition qq pivot in
if(tt<pivot) then (tt::l1,l2) else (l1,tt::l2);;
(* val partition : 'a list -> 'a -> 'a list * 'a list = <fun> *)
let rec tri_rapide liste=
match liste with
|[]->[];
|a::ll->
let (l1,l2)=partition ll a in
(tri_rapide l1)@(a::(tri_rapide l2));;
(* val tri_rapide : 'a list -> 'a list = <fun> *)