小编Avi*_*ddd的帖子

Haskell:在三元树中查找值,树未排序

现在我有树数据类型:

data TernaryTree a = EmptyTree
                   | Node a (TernaryTree a) (TernaryTree a) (TernaryTree a)
                   deriving (Show)
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个可以在三元树中循环一个值的函数.树没有排序.

treeLook :: (Ord a)=> a -> TernaryTree a -> Bool
treeLook x EmptyTree = False
treeLook x (Node a left mid right) =
    if x /= a
        then do
        treeLook x left 
        treeLook x mid
        treeLook x right
        else 
        True
Run Code Online (Sandbox Code Playgroud)

我现在有这个,但我无法编译它.它说:

Couldn't match expected type "m0 b0" with actual type "bool" on the line:
    treeLook x right
Run Code Online (Sandbox Code Playgroud)

tree haskell ternary-tree

2
推荐指数
2
解决办法
187
查看次数

标签 统计

haskell ×1

ternary-tree ×1

tree ×1