chickadee » binary-heap » make-binary-heap


where KEY-COMPARE-PROC is a user-supplied function that takes two keys and returns a negative, positive, or zero number depending on how the first key compares to the second.

The returned selector procedure can take one of the following arguments:

returns a (key . value) pair for an association in the heap with the largest key. If the heap is empty, an error is signalled.
removes the max key and the corresponding association from the heap. Returns a (key . value) pair of the removed association. If the heap is empty, an error is signalled.
returns #t if the heap is empty
returns the size (the number of associations) in the heap
pure variant of PUT!; it returns a new heap object that contains the given association, while the original heap object is unmodified.
returns a procedure LAMBDA PROC that will apply the given procedure PROC to each (key . value) association of the heap, from the one with the smallest key all the way to the one with the max key, in an ascending order of keys.
returns a procedure LAMBDA PROC INITIAL such that, given the associations in the heap ordered by the descending order of keys: (key-n . value-n) ... (key-2 . value-2) (key-1 . value-1) the procedure returns the result of the successive function applications (PROC value-1 (PROC value-2 ... (PROC value-n INITIAL).