5个版本 (稳定)
1.0.3 | 2022年4月21日 |
---|---|
0.4.1 | 2022年4月21日 |
#2249 在 数据结构
25KB
538 行
binary-heap-plus-rs
在Rust的std::collections::BinaryHeap
的基础上进行了增强。
这个版本的Binary-heap-plus公开了一些私有函数。
它支持以下堆,同时保持向下兼容。
- 最大堆
- 使用
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()
用于替换现有堆的比较器。
MSRV(最低支持Rust版本)
此crate需要Rust 1.32.0或更高版本。
变更
请参阅CHANGELOG.md。 https://github.com/sekineh/binary-heap-plus-rs/blob/master/CHANGELOG.md
感谢
- 我从Pre-RFC线程[1]中收到了许多宝贵的反馈。
- 当前设计基于@ExpHP的建议,可以在稳定编译器上编译。
- DDOtten、steven099、CAD97、ExpHP、scottmcm、Nemo157和gnzlbg,感谢您查看设计!
- @ulysseB向我发送了第一个pull request!
- @inesseq贡献了功能
serde1
。 - @davidli2010贡献了比较器更新和
unsafe
性能优化。
参考文献
请参阅以下讨论,了解crate的背景
依赖关系
~20KB