binary-heap-plus2-0.3.1 has been yanked.
binary-heap-plus2
This is a fork of binary-heap-plus,
add a new generic constructor BinaryHeap::from_vec_cmp_rebuild().
Enhancement over Rust's std::collections::BinaryHeap.
It supports the following heaps and still maintains backward compatibility.
- Max heap
- Use
BinaryHeap::new()or::with_capacity()
- Use
- Min heap
- Use
BinaryHeap::new_min()or::with_capacity_min()
- Use
- Heap ordered by closure
- Use
BinaryHeap::new_by()or::with_capacity_by()
- Use
- Heap ordered by key generated by closure
- Use
BinaryHeap::new_by_key()or::with_capacity_by_key()
- Use
Other notable added methods are:
BinaryHeap::from_vec_cmp(),BinaryHeap::from_vec()andBinaryHeap::from_vec_cmp_rebuild()for more generic construction..into_iter_sorted()which is less-surprising version of.into_iter(). The implementation is backported fromstd.
MSRV (Minimum Supported Rust Version)
This crate requires Rust 1.31.1 or later.
Changes
See CHANGELOG.md. https://github.com/sekineh/binary-heap-plus-rs/blob/master/CHANGELOG.md
Thanks
- 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.
References
See the following discussions for the background of the crate: