我需要 3 项任务的帮助。我真的是 Haskell 和函数式编程的新手。
data Tree = Node Int Tree Tree | Nil
借助函数定义
collapse
collapse :: Tree -> [Int] collapse Nil = [] collapse (Node x y z) = (collapse y) ++ [x] ++ (collapse z)
一个 Haskell 函数
check :: Tree -> Bool
,它检查树是否是二叉搜索树。我用一棵树测试它并得到
2 4 7 8 10 | 5 6 10 12
. 在这里您可以看到中间的所有值都已排序,但我不知道应该如何编码。定义一个 Haskell 函数
insert :: Int -> Tree -> Tree
,它将整数值添加到树中并返回一个二叉搜索树。使用函数
insert
(2) 定义一个 Haskell-Functionmerge :: Tree -> Tree -> Tree
,它将两棵树合并到另一棵二叉搜索树。