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