1 个不稳定版本
0.1.0 | 2024年3月2日 |
---|
#1969 在 数据结构
11KB
192 行
是什么
TreeMultiSet 是一个多集实现,允许重复元素。该数据结构在添加元素时保持排序状态,并支持迭代器和范围查询,在操作中提供了更多的灵活性。
迭代器
迭代器支持:通过提供的迭代器轻松遍历元素。
范围查询支持:使用范围方法遍历特定范围内的元素,允许提取定义范围内的元素。
示例
ABC241 D - 序列查询: https://atcoder.jp/contests/abc241/submissions/49645890
ABC212 D - 查询多集: https://atcoder.jp/contests/abc212/submissions/49645865
lib.rs
:
此包提供了 TreeMultiSet
数据结构,这是在 Rust 中使用 BTree (BTreeMap) 实现的多集。
示例
use tree_multi_set::TreeMultiSet;
let mut set = TreeMultiSet::new();
// Inserting elements
set.insert(1);
set.insert(2);
set.insert(2);
// Counting occurrences
assert_eq!(set.count(&1), 1);
assert_eq!(set.count(&2), 2);
// Removing elements
set.remove_one(&2);
assert_eq!(set.count(&2), 1);
// Iterating over elements
for elem in set.iter() {
println!("{}", elem);
}
TreeMultiSet
允许高效地插入、删除和计数元素,适合需要存储元素及其计数的场景。