Я написал следующую функцию, чтобы найти данный элемент «x» в данном списке «lst» и вернуть его индекс, если он найден, иначе он вернет ошибка:Поиск элемента в списке и возврат его индекса - OCaml
exception Failure of string
let rec func x lst c = match lst with
| [] -> raise(Failure "Not Found")
| hd::tl -> if (hd=x) then c else func x tl (c+1)
let find x lst = func x lst 0
Функция полностью работает, мне просто интересно, что это за потребление памяти? Значит ли потребление памяти зависит от длины списка? или это O (1)?
Если это не O (1), кто-то, пожалуйста, сообщите мне, что я должен сделать, чтобы сделать это так?
Спасибо
Кстати, OCaml имеет конструктор исключений 'Not_found' только для такого рода вещей. – gsg