Struct avltree::SearchTree
source · pub struct SearchTree<T: PartialEq + PartialOrd> { /* private fields */ }
Expand description
A simple AVL tree.
Implementations
sourceimpl<'a, T> SearchTree<T>where
T: PartialEq + PartialOrd + Clone,
impl<'a, T> SearchTree<T>where
T: PartialEq + PartialOrd + Clone,
sourcepub fn new() -> SearchTree<T>
pub fn new() -> SearchTree<T>
Creates an empty search tree.
Example
use avltree::SearchTree;
let tree: SearchTree<String> = SearchTree::new();
assert!(tree.is_empty());
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Test if this tree is empty.
Example
use avltree::SearchTree;
let mut tree: SearchTree<String> = SearchTree::new();
assert!(tree.is_empty());
tree.insert(String::from("foo"));
assert!(!tree.is_empty());
sourcepub fn contains(&self, value: &T) -> bool
pub fn contains(&self, value: &T) -> bool
Test if this contains a given value.
Example
use avltree::SearchTree;
let mut tree: SearchTree<String> = SearchTree::new();
tree.insert(String::from("hello"));
tree.insert(String::from("world!"));
assert!(tree.contains(&String::from("hello")));
assert!(!tree.contains(&String::from("cruel")));
sourcepub fn insert(&mut self, value: T)
pub fn insert(&mut self, value: T)
Add the specified value to this tree.
Example
use avltree::SearchTree;
let mut tree: SearchTree<String> = SearchTree::new();
tree.insert(String::from("hello"));
tree.insert(String::from("world!"));
assert!(tree.contains(&String::from("hello")));
assert!(tree.contains(&String::from("world!")));
sourcepub fn iter(&'a self) -> SearchTreeIter<'a, T> ⓘ
pub fn iter(&'a self) -> SearchTreeIter<'a, T> ⓘ
Return an iterator over the values in this tree.
Example
use avltree::SearchTree;
let mut tree: SearchTree<u64> = SearchTree::new();
tree.insert(5);
tree.insert(2);
tree.insert(1);
assert!(tree.iter().zip(vec![1, 2, 5]).all(|(x, y)| *x == y));
Trait Implementations
sourceimpl<T: Debug + PartialEq + PartialOrd> Debug for SearchTree<T>
impl<T: Debug + PartialEq + PartialOrd> Debug for SearchTree<T>
sourceimpl<T: Default + PartialEq + PartialOrd> Default for SearchTree<T>
impl<T: Default + PartialEq + PartialOrd> Default for SearchTree<T>
sourcefn default() -> SearchTree<T>
fn default() -> SearchTree<T>
Returns the “default value” for a type. Read more
sourceimpl<T: PartialEq + PartialEq + PartialOrd> PartialEq<SearchTree<T>> for SearchTree<T>
impl<T: PartialEq + PartialEq + PartialOrd> PartialEq<SearchTree<T>> for SearchTree<T>
sourcefn eq(&self, other: &SearchTree<T>) -> bool
fn eq(&self, other: &SearchTree<T>) -> bool
impl<T: PartialEq + PartialOrd> StructuralPartialEq for SearchTree<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for SearchTree<T>where
T: RefUnwindSafe,
impl<T> Send for SearchTree<T>where
T: Send,
impl<T> Sync for SearchTree<T>where
T: Sync,
impl<T> Unpin for SearchTree<T>where
T: Unpin,
impl<T> UnwindSafe for SearchTree<T>where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more