Я довольно новичок в ocaml, и мне сложно с этим funcКак работает эта рекурсивная функция ocaml?
Я знаю, что он делает, но не КАК! При заданном списке он возвращает минимальное значение списка, а остальную часть списка - в виде пары.
sepmin [2; 1; 3; 4] == (1, [2; 3; 4])
вал sepmin: 'список ->' а * «список
# let rec sepmin = function
[h] -> h, []
|h::t -> let h1, t1 = sepmin t in
min h h1, (max h h1)::t1;;
Могли бы вы, ребята, помочь мне с рекурсивной частью tt
Я думаю, что понял! Если список был [1; 2; 3], последним вызовом будет sepmin [3], возврат 3, [] как h1, t1, а затем sepmin [2,3] и sepmin [1; 2; 3] могут быть рассчитывается? Пожалуйста, дайте мне знать, если я прав, и большое спасибо bipll ^^ – deko
Да, определенно так. :) – bipll