Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
15
Task/Visualize-a-tree/Haskell/visualize-a-tree-1.hs
Normal file
15
Task/Visualize-a-tree/Haskell/visualize-a-tree-1.hs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
data Tree a = Empty | Node { value :: a, left :: Tree a, right :: Tree a }
|
||||
deriving (Show, Eq)
|
||||
|
||||
tree = Node 1 (Node 2 (Node 4 (Node 7 Empty Empty) Empty)
|
||||
(Node 5 Empty Empty)) (Node 3 (Node 6 (Node 8 Empty Empty)
|
||||
(Node 9 Empty Empty)) Empty)
|
||||
|
||||
treeIndent Empty = ["-- (nil)"]
|
||||
treeIndent t = ["--" ++ show (value t)]
|
||||
++ map (" |"++) ls ++ (" `" ++ r):map (" "++) rs
|
||||
where
|
||||
(r:rs) = treeIndent$right t
|
||||
ls = treeIndent$left t
|
||||
|
||||
main = mapM_ putStrLn $ treeIndent tree
|
||||
12
Task/Visualize-a-tree/Haskell/visualize-a-tree-2.hs
Normal file
12
Task/Visualize-a-tree/Haskell/visualize-a-tree-2.hs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import Data.Tree (Tree(..), drawTree)
|
||||
|
||||
tree :: Tree Int
|
||||
tree =
|
||||
Node
|
||||
1
|
||||
[ Node 2 [Node 4 [Node 7 []], Node 5 []]
|
||||
, Node 3 [Node 6 [Node 8 [], Node 9 []]]
|
||||
]
|
||||
|
||||
main :: IO ()
|
||||
main = (putStrLn . drawTree . fmap show) tree
|
||||
Loading…
Add table
Add a link
Reference in a new issue