小编ano*_*non的帖子

检查可变列表是否在ocaml中循环?

我正在尝试编写一个函数来测试Ocaml中的可变列表是否包含一个循环(即,具有对自身的引用并连续重复).

我的清单定义为type 'a m_list = Nil | Cons of 'a * (('a m_list) ref).

到目前为止,我有:

let is_cyclic list =
  let rec check xs = 
    match (!xs) with
     |Nil -> false
     |Cons(_,v) -> ((!v)==list)||check v in
  match list with
   |Nil -> false
   |Cons(_, x) -> check x ;;
Run Code Online (Sandbox Code Playgroud)

但它不太正确,我不确定如何从这里开始...感谢您的帮助!

ocaml cyclic

7
推荐指数
1
解决办法
2170
查看次数

标签 统计

cyclic ×1

ocaml ×1