binary-heap-plus
Enhanced version of std::collections::BinaryHeap that supports max, min, and custom-order heaps.
0.5.0
8.6M downloads/mo
#3382 most downloaded on crates.io
sekineh/binary-heap-plus-rs
What this package is like to depend on
Last release 4 years ago
no release in 18 months
Ships fairly regularly
a new release about every 12 months
Nearly every release is documented
notes for 12 of 13 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
13 releases · first in 2018
0 releases in the last 12 months
see the full history below
Release timeline
13 releases · May 2018 to Sep 2022
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 13-
0.5.030 Sep 2022Release notes
Open source →Added
#[must_use]attribute to many methods, porting and extending several rust-lang/rust PRs- Method
shrink_to(), ported from rust-lang/rust - Implementation of
From<[T; N]>forBinaryHeap<T>, ported from rust-lang/rust#84111 - Links to referenced items in the documenation
- Example of a min-heap, ported from rust-lang/rust#60451
- Documentation of time complexities of several methods, ported from rust-lang/rust#60952
Changed
- Migrate to Rust 2021 Edition
- Increase MSRV (minimum supported rust version) to rust 1.56.0.
- Implement
From<BinaryHeap<T, C>>forVec<T>instead ofInto<Vec<T>>forBinaryHeap<T, C> - Port rust-lang/rust#77435 improvement to rebuild heuristic of
BinaryHeap::append() - Use italics with big-O notation in documentation, ported from rust-lang/rust#71167
- Relax trait bound
C: Compare<T>onBinaryHeap<T, C>struct and certain methods, in part ported from rust-lang/rust#58421 - Synchronize internal implementation details with
std::collections::BinaryHeapin Rust 1.62.0
-
0.4.106 Jan 2021Release notes
Open source →Added
- Performance improvement (#28)
- Port rust-lang/rust#78857 - Improve BinaryHeap performance
- Performance improvement (#28)
-
0.4.029 Sep 2020Release notes
Open source →Added
- Performance improvement (#27)
- Avoid sift_down for unmutated PeekMut (rust#75974)
Changed
- Bump MSRV (minimum supported rust version) to rust 1.32.0.
- Performance improvement (#27)
-
0.3.124 Sep 2020Release notes
Open source →Added
- generic constructor
from_vec_cmp_raw(). replace_cmp()which replace the comparator of heap and its unsafe versionreplace_cmp_raw().
- generic constructor
-
0.3.008 Jul 2020Release notes
Open source →Added
- Quickstart section in the doc
.into_iter_sorted()which returns the values in heap order. (#13)- Note:
.into_iter()returns the values in arbitrary order. There is a good reason (ex. make.extend()efficient) forstdto do that, it was surprising to some people.
- Note:
Changed
- Migrate to Rust 2018 Edition.
- Bump MSRV (minimum supported rust version) to rust 1.31.1.
- [CI] Switched to Github actions.
- [CI] travis is removed because it was unreliable.
- [CI] appveyor is removed because it's slow.
-
0.2.027 May 2019Release notes
Open source →Changed
- [COMPATIBILITY] Use
Comparetrait fromcomparecrate instead of our own definition. Most users should not be affected by this. TIP: ExternalCompare<T>impls needs to be updated to useFninstead ofFnMut. - [COMPATIBILITY] rename feature
serde1toserdein order to comply with the guideline: https://rust-lang-nursery.github.io/api-guidelines/interoperability.html#c-serde - Refactor ctor impl.
- [COMPATIBILITY] Use
-
0.1.621 May 2019Release notes
Open source →Added
- generic constructor
from_vec()andfrom_vec_cmp().
Changed
- Refactor other ctor to call above methods.
- generic constructor
-
0.1.520 May 2019 -
0.1.418 May 2018Nothing published for this version
-
0.1.317 May 2018Release notes
Open source →- Add comprehensive CI based on
trustCI template v0.1.2 - README.md tweaks.
- Add comprehensive CI based on
-
0.1.214 May 2018 -
0.1.114 May 2018 -
0.1.014 May 2018