Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let supprimer a mot =
- let get_node a letters = let (_, _, node) = parcours a letters in node in
- let remove_last lst = if (List.length lst) > 0 then List.rev (List.tl (List.rev lst)) else [] in
- let rm_char_in_list li le len = List.filter (fun (c, _) -> (c <> le)) li in
- let rec aux root letters i =
- if (List.length (explode mot)) = (i+1) then (let Noeud(b, _) = get_node root letters in b := false; aux root (remove_last letters) (i-1))
- else if i > 0 then (let Noeud(b, arr) = get_node root letters in let len = (List.length !arr) in arr := (rm_char_in_list !arr (List.nth letters (i-1)) len); if !b = false && len <= 1 then (aux root (remove_last letters) (i-1)))
- in if not (membre a mot) then raise Not_found else aux a (explode mot) ((List.length (explode mot)) - 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement