Untitled
unknown
ocaml
3 years ago
364 B
3
Indexable
let rec is_sorted = function | [] -> true | [_] -> true | a::b::t when a <= b -> is_sorted (b::t) | a::b::t -> false;; let rec pass l = match l with [] -> [] | [_] -> l | a::b::xs when a > b -> b::pass (a::xs) | a::b::xs -> a::pass (b::xs);; let rec bubble l = let passed = pass l in if is_sorted passed then passed else bubble passed;;
Editor is loading...