访问树中的节点/叶子

时间:2012-01-30 00:43:33

标签: sml smlnj

我在标准ML中做了一个家庭作业问题,我们刚刚开始学习,并且我试图计算一棵树中叶子的总和。我怎样才能访问这棵树节点中的元素?

enter image description here

1 个答案:

答案 0 :(得分:0)

通过模式匹配解构复杂数据类型。大多数情况下,您在函数参数中执行此操作。如果函数f将列表作为参数,而不是将其定义为

fun f X = ...
你会说

fun f x::xs = ...

现在,当您向其传递一个列表时,它会自动将x分配给第一个元素,将xs分配给其余元素。

在你的情况下,它看起来像这样:

fun sum Node(element,children)::siblings = ...
相关问题