Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. makeBST :: Ord a => [a] -> BST a
  2. makeBST l= aux (sort l)
  3.  
  4. aux []= BSTNil
  5. aux l =BSTNod mij (aux st) (aux dr) where
  6. lung = length l
  7. mij = l !! (div lung 2)
  8. st = take (div lung 2) l
  9. dr = drop ((div lung 2)+ 1) l
  10.  
  11. findElem :: (Ord a, Eq a) => a -> BST a -> Maybe a
  12. findElem _ BSTNil = Nothing
  13. findElem x (BSTNod y st dr)
  14. | x == y = Just x
  15. | x < y = findElem x st
  16. | otherwise = findElem x dr
  17.  
  18. inorder :: BST a -> [a]
  19. inorder BSTNil = []
  20. inorder (BSTNod x st dr) = (inorder st) ++ [x] ++ (inorder dr)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement