Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. push :: [t] -> [t] -> [t]
  2. push [] list = list
  3. push (head:tail) list = head:push tail list
  4.  
  5. revpush :: [t] -> [t] -> [t]
  6. revpush [] list = list
  7. revpush (head:tail) list = revpush tail (head:list)
  8.  
  9. reverse :: [t] -> [t]
  10. reverse list = revpush list []
  11.  
  12. data Tree t = Nil | Leaf t | Node (Tree t) t (Tree t)
  13. instance (Show t) => Show (Tree t) where
  14.     show (Nil)               = ""
  15.     show (Leaf x)            = show x
  16.     show (Node left x right) = "(" ++ show left ++ "-" ++ show x ++ "-" ++ show right ++ ")"
  17.  
  18. delete :: (Ord t) => t -> (Tree t) -> (Tree t)
  19. delete e Nil = Nil
  20. delete e (Leaf x)
  21.     | e == x      = Nil
  22.     | e /= x      = Leaf x
  23. delete e (Node left x right)
  24.     | e == x                 = Nil
  25.     | e < x                  = Node (delete e left) x right
  26.     | e > x                  = Node left x (delete e right)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement