Enhancement over Rust's std::collections::BinaryHeap
.
It supports the following features and still maintains backward compatibility.
- Max heap
- Min heap
- Heap ordered by closure
- Heap ordered by key generated by closure
Notable added method is:
.into_iter_sorted()
backported fromstd
.
This crate requires Rust 1.31.1 or later.
Currently, the From<Vec<T>>
trait is implemented for max heap only.
If you add generic impl for other heaps, the existing code breaks, requires
slight modification such as type annotation.
To maintain good compatibility with std
version, ::from_vec()
method was added
for the same purpose.
See CHANGELOG.md. https://github.com/sekineh/binary-heap-plus-rs/blob/master/CHANGELOG.md
- I received many valuable feedback from Pre-RFC thread [1].
- The current design is based on @ExpHP's suggestion that compiles on stable compiler.
- DDOtten, steven099, CAD97, ExpHP, scottmcm, Nemo157 and gnzlbg, thanks for looking into the design!
- @ulysseB sent me a first pull request!
- @inesseq contributed feature
serde1
.
See the following discussions for the background of the crate: