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
: ATreeNode
object that represents the topmost node of thisBinaryTree
left
: An optionalBinaryTree
Box
pointer that points to the left child of thisBinaryTree
, orNone
if no left child existsright
: An optionalBinaryTree
Box
pointer that points to the right child of thisBinaryTree
, orNone
if no right child exists
§Returns
- A new instance of a
BinaryTree
containing the givenroot
node,left
child, andright
child
§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> 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