21 releases
0.8.0 | Sep 18, 2024 |
---|---|
0.7.1 | Apr 15, 2023 |
0.6.2 | Feb 11, 2022 |
0.6.1 | Sep 19, 2020 |
#305 in Data structures
138 downloads per month
Used in 3 crates
120KB
3K
SLoC
AVL Tree Map and Set in Rust
An ordered map and set implemented with an AVL tree (nearly balanced binary search tree) in Rust.
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!(set.contains(&1));
set.remove(&1);
assert!(!set.contains(&1));
This is solely to get practice with the dark art of unsafe Rust. For all common purposes one of the standard library collections should be preferable.
lib.rs
:
Dictionary data structures implemented with an AVL tree (nearly balanced binary search tree).