eldek-tad 0.9.1

A project for learning Abstract Data Types (ADTs) in Rust. Heavily inspired by Java's implementation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use crate::binary_tree::binary_tree_error::BinaryTreeError;

pub trait BinaryTreeTrait<K, T>{
    fn new() -> Self;
    fn insert(&mut self, key: K, value: T, parent:Option<K>)->Result<(), BinaryTreeError<K>>;
    fn delete(&mut self, key: &K)->Result<(), BinaryTreeError<K>>;
    fn find(&self, key: &K) -> Result<(&K, &T), BinaryTreeError<K>>;
    fn find_mut(&mut self, key: &K) -> Result<(&K, &mut T), BinaryTreeError<K>>;
    fn size(&self)->usize;
    fn count_leaves(&self)->usize;
    fn is_empty(&self)->bool;
}