avl

Crates.ioavl
lib.rsavl
version0.8.0
sourcesrc
created_at2020-08-23 14:50:42.207144
updated_at2024-09-18 07:21:43.524054
descriptionA map and a set implemented with an AVL tree.
homepagehttps://github.com/oliver-anhuth/avl
repositoryhttps://github.com/oliver-anhuth/avl
max_upload_size
id279838
size143,274
Oliver Anhuth (oliver-anhuth)

documentation

https://docs.rs/avl/0.8.0/avl/

README

AVL Tree Map and Set in Rust

Build and test

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.

Commit count: 235

cargo fmt