【发布时间】:2016-11-16 06:03:45
【问题描述】:
假设我有以下树数据类型:
datatype 'a tree = Empty | Node of 'a * 'a tree * 'a tree;
val x = Node(10, Node(20, Empty, Empty), Node(30, Empty, Empty));
这里,x 是一个 int 树类型的变量。我想知道的是如何在仅变量 x 的情况下剖析和评估树的不同部分?
例如在这个函数中:
fun add(tree) = ....
add(x);
假设该函数将所有值添加到树的节点中,我将如何准确地获取这些值?我知道你可以做的元组:
#i(x, y, z, ......)
获取第 i 个索引处的元素。这种类型的功能如何与递归数据类型一起使用?
【问题讨论】: