diff --git a/Code CAML.md b/Code CAML.md index 68c9618..9734648 100644 --- a/Code CAML.md +++ b/Code CAML.md @@ -21,10 +21,13 @@ let pos_max lst = failwith "pos_max: empty list" else let rec pmr mpos cpos = function - | [] -> mpos - | e::mval::t -> + | e::[] -> mpos + | mval::e::t -> if e > mval then - pmr cpos (cpos + 1) t + pmr cpos (cpos + 1) (e::t) else - pmr mval mpos (cpos + 1) t - in let init_max = + pmr mval mpos (cpos + 1) mval::t + in pmr 1 1;; +val pos_max lst = 'a list -> int = +``` +