Struct ds_bst::BinarySearchTree
source · [−]pub struct BinarySearchTree<T> { /* private fields */ }
Implementations
sourceimpl<T: PartialOrd + Copy> BinarySearchTree<T>
impl<T: PartialOrd + Copy> BinarySearchTree<T>
sourcepub fn new(v: T) -> BinarySearchTree<T>
pub fn new(v: T) -> BinarySearchTree<T>
Contructor creates BinarySearchTree root node
sourcepub fn from(data: Vec<T>) -> BinarySearchTree<T>
pub fn from(data: Vec<T>) -> BinarySearchTree<T>
Delegates tree building to BinarySearchTree::build_recursive()
This sorts vector input and pass splice to tree builder.
sourcepub fn build_recursive(
data: &[T],
start: isize,
end: isize
) -> Option<Box<BinarySearchTree<T>>>
pub fn build_recursive(
data: &[T],
start: isize,
end: isize
) -> Option<Box<BinarySearchTree<T>>>
Recursively builds tree maintaining BST properties.
Uses O(n)
time.
Trait Implementations
sourceimpl<T> IntoIterator for BinarySearchTree<T> where
T: PartialOrd + Copy,
impl<T> IntoIterator for BinarySearchTree<T> where
T: PartialOrd + Copy,
implement consumable IntoIterator for BinarySearchTree
sourceimpl<'a, T> IntoIterator for &'a BinarySearchTree<T> where
T: PartialOrd + Copy,
impl<'a, T> IntoIterator for &'a BinarySearchTree<T> where
T: PartialOrd + Copy,
Implement non-consumable IntoIterator for BinarySearchTree
Auto Trait Implementations
impl<T> RefUnwindSafe for BinarySearchTree<T> where
T: RefUnwindSafe,
impl<T> Send for BinarySearchTree<T> where
T: Send,
impl<T> Sync for BinarySearchTree<T> where
T: Sync,
impl<T> Unpin for BinarySearchTree<T> where
T: Unpin,
impl<T> UnwindSafe for BinarySearchTree<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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