diff options
Diffstat (limited to 'H57.hs')
-rw-r--r-- | H57.hs | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -0,0 +1,11 @@ +import Tree + +construct :: Ord a => [a] -> Tree a +construct = foldl add Empty + +add :: Ord a => Tree a -> a -> Tree a +add Empty x = Branch x Empty Empty +add t@(Branch a t1 t2) x = case compare x a of + LT -> Branch a (add t1 x) t2 + GT -> Branch a t1 (add t2 x) + EQ -> t |