Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- makeBST :: Ord a => [a] -> BST a
- makeBST l= aux (sort l)
- aux []= BSTNil
- aux l =BSTNod mij (aux st) (aux dr) where
- lung = length l
- mij = l !! (div lung 2)
- st = take (div lung 2) l
- dr = drop ((div lung 2)+ 1) l
- findElem :: (Ord a, Eq a) => a -> BST a -> Maybe a
- findElem _ BSTNil = Nothing
- findElem x (BSTNod y st dr)
- | x == y = Just x
- | x < y = findElem x st
- | otherwise = findElem x dr
- inorder :: BST a -> [a]
- inorder BSTNil = []
- inorder (BSTNod x st dr) = (inorder st) ++ [x] ++ (inorder dr)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement