13 个版本
0.5.0 | 2022年9月30日 |
---|---|
0.4.1 | 2021年1月6日 |
0.4.0 | 2020年9月29日 |
0.3.1 | 2020年9月24日 |
0.1.4 | 2018年5月18日 |
#112 in 数据结构
73,742 每月下载量
在 22 个crate(16 个直接使用) 中使用
80KB
890 行
binary-heap-plus-rs
是Rust的 std::collections::BinaryHeap
的增强版本。
它支持以下堆,并保持向后兼容。
- 最大堆
- 使用
BinaryHeap::new()
或::with_capacity()
- 使用
- 最小堆
- 使用
BinaryHeap::new_min()
或::with_capacity_min()
- 使用
- 由闭包排序的堆
- 使用
BinaryHeap::new_by()
或::with_capacity_by()
- 使用
- 由闭包生成的键排序的堆
- 使用
BinaryHeap::new_by_key()
或::with_capacity_by_key()
- 使用
其他显著添加的方法包括
BinaryHeap::from_vec_cmp()
和BinaryHeap::from_vec()
,用于更通用的构造。.into_iter_sorted()
是对.into_iter()
的一个更不令人惊讶的版本。其实现是从std
回退的。.replace_cmp()
用于替换现有堆的比较器。
兼容性和最小支持Rust版本(MSRV)
此crate基于Rust 1.62.0标准库中BinaryHeap
的实现。
最小支持的Rust版本是1.56.0。
变更
请参阅 CHANGELOG.md。
感谢
- 我在Pre-RFC线程[1]中收到了许多宝贵的反馈。
- 当前的设计基于@ExpHP的建议,可以在稳定编译器上编译。
- DDOtten、steven099、CAD97、ExpHP、scottmcm、Nemo157和gnzlbg,感谢你们对设计的关注!
- @ulysseB向我提交了一个第一个pull request!
- @inesseq贡献了特性
serde1
。 - @davidli2010贡献了比较器更新和
unsafe
性能优化。
参考
请参阅以下讨论了解crate的背景
依赖关系
~195KB