Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- push :: [t] -> [t] -> [t]
- push [] list = list
- push (head:tail) list = head:push tail list
- revpush :: [t] -> [t] -> [t]
- revpush [] list = list
- revpush (head:tail) list = revpush tail (head:list)
- reverse :: [t] -> [t]
- reverse list = revpush list []
- data Tree t = Nil | Leaf t | Node (Tree t) t (Tree t)
- instance (Show t) => Show (Tree t) where
- show (Nil) = ""
- show (Leaf x) = show x
- show (Node left x right) = "(" ++ show left ++ "-" ++ show x ++ "-" ++ show right ++ ")"
- delete :: (Ord t) => t -> (Tree t) -> (Tree t)
- delete e Nil = Nil
- delete e (Leaf x)
- | e == x = Nil
- | e /= x = Leaf x
- delete e (Node left x right)
- | e == x = Nil
- | e < x = Node (delete e left) x right
- | e > x = Node left x (delete e right)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement