heap
priority queue data structure
Calling Sequence
Parameters
Description
Examples
heap:-new(f)
heap:-new(f, x1, ..., xn)
heap:-insert(x, h)
heap:-extract(h)
heap:-empty(h)
heap:-max(h)
heap:-size(h)
f
-
Boolean-valued function
h
x, x[i]
values to be inserted into the heap
The call heap:-new(f) returns an empty heap where f is a Boolean-valued function which specifies a total ordering for the elements to be inserted into the heap.
The call heap:-new(f, x1, ..., xn) returns a heap with the values x1, ..., xn initially inserted into the heap.
The call heap:-insert(x, h) inserts the element x into the heap h while heap:-extract(h) returns (and removes) the maximum element from the heap (according to the ordering defined by f).
The call heap:-empty(h) returns true if the heap h is empty, and false if it is not empty.
Additionally, heap:-max(h) returns the maximum element in the heap (but does not remove it) and heap:-size(h) returns the number of elements in the heap.
h≔heap:-new⁡lexorder,greg,tony,bruno,michael:
heap:-insert⁡stefan,h
stefan
heap:-size⁡h
5
heap:-max⁡h
tony
whilenotheap:-empty⁡hdoheap:-extract⁡henddo
michael
greg
bruno
See Also
DEQueue
priqueue
Download Help Document