0.3.2 |
|
---|---|
0.3.1 |
|
#22 in #binary-heap
64KB
776 lines
binary-heap-plus2
This is a fork of binary-heap-plus,
add a new generic constructor BinaryHeap::from_vec_cmp_rebuild()
.
binary-heap-plus
is recommended if there are no special requirements.
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:
Dependencies
~185KB