我在haskell 中获得了一个BST,它能够添加、删除、查找、findMax 和removingMax。我必须制作一个将数据转换为列表结构的函数。
bstToList:: (BST k v) -> [String]
bstToList EmptyBST = ["hi"]
bstToList (BSTNode k v nl nr) = bstToList nl ++ bstToList nr
我有 EmptyBST = ["hi"] 的原因是检查它返回的内容。当给定输入
bstToList (bstAdd 1 "Phil" (bstAdd 2 "Ip" EmptyBST))
返回一个列表 ["hi","hi","hi"] 我不清楚为什么一切都返回空列表。假设除 bstToList 之外的所有函数都正确且工作正常。任何帮助表示赞赏!