github.com/aalpar/deheap (go): Package deheap provides the implementation of a doubly ended heap. Doubly ended heaps are heaps with two sides, a min side and a max side. Like normal single-sided heaps, elements can be pushed onto and pulled off of a deheap.  deheaps have an additional Pop function, PopMax, that returns elements from the opposite side of the ordering.  This implementation has emphasized compatibility with existing libraries in the sort and heap packages.  Performace of the deheap functions should be very close to the performance of the functions of the heap library  This example inserts several ints into an IntHeap, checks the minimum, and removes them in order of priority.
Keywords: double-ended-queue|golang|heap|heaps|min-max-heap|priority-queue