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≔heapnew⁡lexorder,greg,tony,bruno,michael:
heapinsert⁡stefan,h
stefan
heapsize⁡h
5
heapmax⁡h
tony
whilenotheapempty⁡hdoheapextract⁡henddo
michael
greg
bruno
See Also
priqueue
queue
Download Help Document
What kind of issue would you like to report? (Optional)