所以,这是我的问题.. 我需要编写一个函数来在树中添加元素,它是一棵二叉树,所以它必须组织良好。问题在于我的树是如何定义的。我有这棵树:
type 'a tree = {
mutable cont:'a;
mutable left:'a bin_tree;
mutable right:'a bin_tree
}
and 'a bin_tree =
Empty
|Node of 'a bin_tree;;
因此,当我编写在这棵树中添加元素的函数时,它说树的类型是'a tree,我正在使用'a bin_tree.'的函数。
我尝试了很多不同的方法来编写该函数,但我得到了同样的错误。我最后使用的功能是:
let rec dodajVDrevo x = function
Empty -> Node{cont=x; left=Empty; right=Empty}
|Node{cont; left; right} -> if x < cont then Node{cont; left= dodajVDrevo x left; right}
else if x > cont then Node{cont; left; right = dodajVDrevo x right}
else Node{cont; left; right};;
请帮助我并提供一些线索。
谢谢!