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!();
支持的操作
联合
交集
差集
补集
有交集
包含
包含所有
是总集
为空