我们说我有以下树数据类型:
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 tree类型的变量。我想知道的是,如果仅变量x,我如何剖析和评估树的不同部分?
例如在此功能中:
fun add(tree) = ....
add(x);
假设该函数添加了树的节点中的所有值,我将如何准确地获取这些值?我知道你可以做的元组:
#i(x, y, z, ......)
抓取第i个索引处的元素。这种类型的功能如何与递归数据类型一起使用?
答案 0 :(得分:1)
要从递归数据类型中获取值,您只需为其编写递归函数。
gldhitID