有人可以告诉我这个代码在我的程序中做了什么吗? (aux(c + 1)l)@(aux(c + 1)r)
以下是所有代码:
let rec aux c = function
Empty -> []
|Tr(x,l,r) ->
let l =
(aux (c+1) l)@(aux (c+1) r) in
if c = n then x::l else l
in aux 1 tr;;
答案 0 :(得分:2)
您遗漏了一些定义n
和tr
的上下文。我也会说你的问题很模糊。一般来说,您提到的表达式会从树的下方获取值列表。它使用@
运算符将两个列表集中在一起。