Skip to content

Commit c9ad610

Browse files
committed
haskell: add inversion to tree
1 parent 498aa7f commit c9ad610

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

haskell/Tree.hs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ treeTraverse :: Ord a => Tree a -> [a]
2222
treeTraverse Empty = []
2323
treeTraverse (Node a left right) = a:((treeTraverse left) ++ (treeTraverse right))
2424

25+
treeInverse Empty = Empty
26+
treeInverse (Node a left right) = (Node a (treeInverse right) (treeInverse left))
27+
2528
main = do
2629
putStrLn (show example)
2730
putStrLn (show $ treeLookup 1 example)
@@ -31,6 +34,9 @@ main = do
3134
putStrLn (show $ treeInsert (0-1) example)
3235
let values = treeTraverse withHundred
3336
putStrLn (show $ values)
37+
putStrLn (show $ treeTraverse $ treeInverse withHundred)
38+
putStrLn (show $ treeInverse withHundred)
39+
putStrLn (show $ withHundred)
3440
let otherTree = foldr treeInsert Empty (reverse values)
3541
putStrLn (show otherTree)
3642
putStr (show $ treeHeight example)

0 commit comments

Comments
 (0)