Haskell显示树函数

时间:2012-03-02 14:33:02

标签: haskell tree

我正在尝试编写一个显示树的函数,用/或\(左或右子)替换树块加上它们下面的Int值。 树的定义如下:

    data Tree x 
      = Null
      | Leaf x
      | Node (Tree x) x (Tree x)
      deriving Show

并且它只能包含五个一位数值,例如在树后面:

    Node(Node(Leaf 1)(2)(Leaf 3))(3)(Node(Null)(4)(Leaf 5))

会以这种方式显示:

             3
           /   \
          2     4
         / \     \
        1   3     5

我认为由于空间有限,有更多节点和更高的树会有一些节点重叠,但在这种情况下它应该没问题,因为该功能是单独处理二进制搜索树。

我有一个功能可供我使用,需要[[bool]]并打印线条,用字符替换布尔值,但是......我不知道如何在这种特殊情况下使用它......任何帮助都会不胜感激。

0 个答案:

没有答案