1 个稳定版本
1.0.0 | 2022 年 3 月 16 日 |
---|
在 数据结构 中排名第 2303
14KB
350 行
Rust 中的不可变映射实现
这是一个基于不可变 AVL 树的不可变(函数式)集合或映射实现,纯 Rust。
添加或删除操作的时间和空间复杂度是 log(N)
,其中 N 是原始集合的大小。
这个小项目是受到在 LLVM/Clang 静态分析器中使用 ImmutableMap 的启发。
使用方法
let set = ImmutableSet::new();
let new_set = set.insert(1);
let map = ImmutableMap::new();
let new_map = new_map.insert(1, "abc");
let new_map = new_map.delete(1, "abc");
let size = new_map.size();
let data = new_map.get_val_as_ref(1);