10 个版本
0.5.0 | 2023年6月2日 |
---|---|
0.4.4 | 2023年1月3日 |
0.4.3 | 2022年10月23日 |
0.4.2 | 2022年5月19日 |
0.4.1 | 2021年7月2日 |
#834 在 数据结构 中
50,317 每月下载量
在 2 个 crate 中使用 (通过 choice-string)
65KB
1K SLoC
range_union_find
这个 crate 实现了一个范围并查集数据结构,支持 PrimInt
和 Float
。
请参阅 API 文档以获取更多信息。
lib.rs
:
提供了一种由向量支持的数据结构,用于合并整数的范围。我们智能地合并插入的范围以最小化所需的存储。
示例用法
let mut range_holder = RangeUnionFind::<u32>::new();
range_holder.insert_range(&(4..=8))?;
range_holder.insert_range(&(6..=10))?;
assert_eq!(range_holder.has_range(&(2..=12))?, OverlapType::Partial(7));
assert_eq!(range_holder.has_range(&(5..=9))?, OverlapType::Contained);
主要类型是 RangeUnionFind
结构体,其中实现了 NumInRange
特性,该特性用于原始整数和浮点类型,可用于形成范围。虽然我们尽力支持浮点数范围,但可能会出现由于浮点数不精确而引起的问题。
依赖关系
~140–435KB