我有一个代表树的类型:
type 'a tree =
| Null
| Node of 'a * 'a tree * 'a tree * 'a tree ref;;
我的目标是编写一个函数'a tree -> unit
,它接受树并以这种方式对其进行更改,即每个节点都以中缀顺序引用下一个节点(最后一个节点指向Null)。 / p>
如何更改给定的树而不返回它?
答案 0 :(得分:1)
这是一个使树节点指向自身的函数:
let circulate tn =
match tn with
| Null -> ()
| Node (_, _, _, tr) -> tr := tn