Advertisement
Guest User

Untitled

a guest
Mar 10th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.80 KB | None | 0 0
  1.     let supprimer a mot =
  2.       let get_node a letters = let (_, _, node) = parcours a letters in node in
  3.       let remove_last lst = if (List.length lst) > 0 then List.rev (List.tl (List.rev lst)) else [] in
  4.       let rm_char_in_list li le len = List.filter (fun (c, _) -> (c <> le)) li in
  5.       let rec aux root letters i =
  6.         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))
  7.       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)))
  8.     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