-- IB015 binarni stromy -- funkce na vykresleni stromu BinTree a pomoci externi knihovny Data.Tree -- externi knihovna Data.Tree pracuje s n-arnymi stromy -- vice info na http://hackage.haskell.org/packages/archive/containers/latest/doc/html/Data-Tree.html import qualified Data.Tree as T (Tree(..), drawTree) -- nase definice binarniho stromu data BinTree a = Empty | Node a (BinTree a) (BinTree a) deriving (Eq, Show) -- transformuje nase stromy na typ, se ktorym pracuje knihovna convertTree :: Show a => BinTree a -> T.Tree String convertTree Empty = T.Node "Empty" [] convertTree (Node x l r) = T.Node (show x) (map convertTree [l,r]) -- samotna vykreslovaci funkce drawTree :: Show a => BinTree a -> IO () drawTree = putStr . T.drawTree . convertTree