csheap
Min and max heap implementation over a vector. This is a efficient implementation of the ADT priority queue.
// Create a new heap instance for u32 elements.
let mut heap = new;
// Create a new heap instance from an u32 vector.
// Will take the ownership of the vector.
let mut heap = from_vec;
// To avoid taking the ownership of the vector you can,
// for example, clone the vector.
let mut heap = from_vec;
There are two basic operations:
insert: Insert an element.extract: Remove and return the element in the root node.
Heaps comes in two flavors: Min and Max.
Min:extractalways take the min element.Max:extractalways take the max element.
// Create a heap that always return the max element
let mut heap = new;
heap.insert;
heap.insert;
heap.extract; // returns 2