Currently, the Sano library contains only one heap implementation (PairingHeap).

`extractFirstK` | Returns an iterator which destructively removes and returns the first k elements from this heap. |

`toString` | Returns a string representation of heap. |

`heaps.extractFirstK(heap [, k])`

If k is unspecified, the entire heap is drained by the returned iterator. If k is greater than heap:size(), an error is thrown.

The typical use for this method would be in a heapsort or a partial sort, for example:

> v = vector(iter.count(15)); v:shuffle(); print(v) [4, 9, 3, 8, 12, 2, 14, 1, 6, 11, 13, 10, 7, 15, 5] > h = heap(v); print(h) /1, 5, 15, 7, 10, 13, 11, 6, 2, 14, 3, 12, 8, 4, 9\ > print(vector(h:extractFirstK(10))) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

`heaps.toString(heap)`

The order in which elements are displayed is unspecified, except that the top element of the heap will always appear first.

Example:

> h = heap(1,32,2,5,2,0) > print(h) -- 0 is top of heap, appears first in string repr. /0, 1, 2, 5, 2, 32\