Trait BaseTree

Source
pub trait BaseTree<T> {
    type MNode: Node<T>;

Show 13 methods // Required methods fn get(&self, val: usize) -> &Self::MNode; fn get_mut(&self, val: usize) -> &mut Self::MNode; fn delete_node(&mut self, index: usize); fn create_node(&mut self, val: T) -> usize; fn rebalance_ins(&mut self, n: usize); fn rebalance_del(&mut self, n: usize, child: usize); fn delete_replace(&mut self, n: usize) -> usize; fn replace_node(&mut self, to_delete: usize, to_attach: Option<usize>); fn attach_child(&self, p: usize, c: usize, side: Side); fn get_root(&self) -> Option<usize>; fn set_root(&mut self, new_root: Option<usize>); fn get_size(&self) -> usize; fn crement_size(&mut self, val: isize);
}

Required Associated Types§

Source

type MNode: Node<T>

Required Methods§

Source

fn get(&self, val: usize) -> &Self::MNode

Source

fn get_mut(&self, val: usize) -> &mut Self::MNode

Source

fn delete_node(&mut self, index: usize)

Source

fn create_node(&mut self, val: T) -> usize

Source

fn rebalance_ins(&mut self, n: usize)

Source

fn rebalance_del(&mut self, n: usize, child: usize)

Source

fn delete_replace(&mut self, n: usize) -> usize

Source

fn replace_node(&mut self, to_delete: usize, to_attach: Option<usize>)

Source

fn attach_child(&self, p: usize, c: usize, side: Side)

Source

fn get_root(&self) -> Option<usize>

Source

fn set_root(&mut self, new_root: Option<usize>)

Source

fn get_size(&self) -> usize

Source

fn crement_size(&mut self, val: isize)

Implementors§

Source§

impl<T> BaseTree<T> for AVLTree<T>
where T: PartialOrd + PartialEq + Debug,

Source§

impl<T> BaseTree<T> for RBTree<T>
where T: PartialOrd + PartialEq + Debug,

Source§

impl<T> BaseTree<T> for BSTree<T>
where T: PartialOrd + PartialEq + Debug,