pub struct BinaryTree<T> {
pub root: TreeNode<T>,
pub left: Option<Box<BinaryTree<T>>>,
pub right: Option<Box<BinaryTree<T>>>,
}Expand description
A BinaryTree data structure that contains a TreeNode and two
optional child nodes (left and right)
This structure represents a binary tree where each node contains a TreeNode value and two
child nodes, left and right, which are either Some(Box<BinaryTree<T>>), or None if the
node has no children.
Fields§
§root: TreeNode<T>The root of the BinaryTree
left: Option<Box<BinaryTree<T>>>The left child of the BinaryTree, or None if there is no left child
right: Option<Box<BinaryTree<T>>>The right child of the BinaryTree, or None if there is no right child
Implementations§
Source§impl<T> BinaryTree<T>
impl<T> BinaryTree<T>
Sourcepub fn new(
root: TreeNode<T>,
left: Option<Box<BinaryTree<T>>>,
right: Option<Box<BinaryTree<T>>>,
) -> Self
pub fn new( root: TreeNode<T>, left: Option<Box<BinaryTree<T>>>, right: Option<Box<BinaryTree<T>>>, ) -> Self
Creates a new BinaryTree with the given node, left child, and right child.
§Parameters
root: ATreeNodeobject that represents the topmost node of thisBinaryTreeleft: An optionalBinaryTreeBoxpointer that points to the left child of thisBinaryTree, orNoneif no left child existsright: An optionalBinaryTreeBoxpointer that points to the right child of thisBinaryTree, orNoneif no right child exists
§Returns
- A new instance of a
BinaryTreecontaining the givenrootnode,leftchild, andrightchild
§Examples
use dsa::data_structures::tree::{BinaryTree, TreeNode};
let tree = BinaryTree::new(
TreeNode::new(1),
Some(Box::new(BinaryTree::new(TreeNode::new(2), None, None))),
Some(Box::new(BinaryTree::new(TreeNode::new(3), None, None)))
);Auto Trait Implementations§
impl<T> Freeze for BinaryTree<T>where
T: Freeze,
impl<T> RefUnwindSafe for BinaryTree<T>where
T: RefUnwindSafe,
impl<T> Send for BinaryTree<T>where
T: Send,
impl<T> Sync for BinaryTree<T>where
T: Sync,
impl<T> Unpin for BinaryTree<T>where
T: Unpin,
impl<T> UnsafeUnpin for BinaryTree<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for BinaryTree<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more