Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defn percolate-down
- ([heap loc]
- (cond (> (heap-right loc) (- (:size heap) 1)) (:data heap)
- (or (= (dec (:size heap)) (heap-left loc)) (< ((:data heap) (heap-left loc)) ((:data heap) (heap-right loc)))) (if (> ((:data heap) loc) ((:data heap) (heap-left loc))) (percolate-down (Heap. (:size heap) (swap (:data heap) loc (heap-left loc))) (heap-left loc)) (:data heap))
- (> ((:data heap) loc) ((:data heap) (heap-right loc))) (percolate-down (Heap. (:size heap) (swap (:data heap) loc (heap-right loc))) (heap-right loc))
- :else (:data heap)))
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement