19 个版本
0.7.1 | 2023 年 4 月 15 日 |
---|---|
0.6.3 | 2023 年 4 月 14 日 |
0.6.2 | 2022 年 2 月 11 日 |
0.6.1 | 2020 年 9 月 19 日 |
#330 在 数据结构
315 每月下载量
用于 3 crates
120KB
3K SLoC
Rust 中的 AVL 树映射和集合
使用 AVL 树(几乎平衡的二叉搜索树)实现的有序映射和集合。
use avl::AvlTreeMap;
let mut map = AvlTreeMap::new();
map.insert(0, "zero");
map.insert(1, "one");
map.insert(2, "two");
assert_eq!(map.get(&1), Some(&"one"));
map.remove(&1);
assert!(map.get(&1).is_none());
use avl::AvlTreeSet;
let mut set = AvlTreeSet::new();
set.insert(0);
set.insert(1);
set.insert(2);
assert_eq!(set.get(&1), Some(&1));
set.remove(&1);
assert!(set.get(&1).is_none());
这只是为了练习 Rust 的黑暗艺术。对于所有常见用途,标准库集合中的一个应该更可取。
lib.rs
:
使用 AVL 树(几乎平衡的二叉搜索树)实现的字典数据结构。