【发布时间】:2018-01-21 03:22:58
【问题描述】:
我正在尝试编写一个函数,该函数将遍历二叉树并返回遇到的整数列表。 我的数据树声明如下:
data Tree = Node Int Tree Tree | Leaf Int
deriving (Eq,Show)
我的第一个想法是用以下方式启动函数:
preorder :: Tree -> [a] --take in tree, return list of ints
但是我在网上看到有人通过使用类似于以下的函数声明格式来解决这个问题:
preorder :: (a -> c) -> (b -> c) -> Tree -> [c]
我真的不明白这条线在做什么,它需要多个输入吗?
谢谢
【问题讨论】:
标签: haskell functional-programming binary-tree tree-traversal preorder