1个稳定版本
| 新 1.0.0 | 2024年8月25日 |
|---|
#771 在 数据结构
91 每月下载量
32KB
759 行
irange
用于存储和操作整数范围的集合操作的数据结构。
支持类型:u8,u16,u32,u64,u128,usize,i8,i16,i32,i64,i128和isize。
示例
let range1 = RangeSet::<i64>::new_from_ranges(&[AnyRange::from(3..=4), AnyRange::from(7..9)]);
let range2 = RangeSet::<i64>::new_from_range(-2..=4);
let union = range1.union(&range2);
println!("{union}"); // [ -2..=4 7..=8 ]
for value in union.iter() {
print!("{value} "); // -2 -1 0 1 2 3 4 7 8
}
println!();
let intersection = range1.intersection(&range2);
println!("{intersection}"); // [ 3..=4 ]
for value in intersection.iter() {
print!("{value} "); // 3 4
}
println!();
let difference = range1.difference(&range2);
println!("{difference}"); // [ 7..=8 ]
for value in difference.iter() {
print!("{value} "); // 7 8
}
println!();
支持的操作
联合交集差集补集有交集包含包含所有是总集为空