jckuri

Heap.hs

Oct 20th, 2013
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. data Tree = Leaf Int | Node Int Tree Tree deriving Show
  2.  
  3. getValue tree =
  4.  case tree of
  5.   Leaf value -> value
  6.   Node value tree1 tree2 -> value
  7.  
  8. isHeap tree =
  9.  case tree of
  10.   Leaf value -> True
  11.   Node value tree1 tree2 ->
  12.    isHeap tree1 && isHeap tree2 &&
  13.     value <= getValue tree1 && value <= getValue tree2
  14.  
  15. tree1 = Node 2 (Node 3 (Leaf 4) (Leaf 7)) (Leaf 6)
  16. tree2 = Node 20 (Node 3 (Leaf 4) (Leaf 7)) (Leaf 6)
  17. tree3 = Node 2 (Node 30 (Leaf 4) (Leaf 7)) (Leaf 6)
  18.  
  19. results = map isHeap [tree1,tree2,tree3]
Advertisement
Add Comment
Please, Sign In to add comment