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);;
(* 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));;
(* tri_rapide : 'a list -> 'a list = <fun> *)