blob: b4684a28683cbea06ffe4c2cfa6858a1b7a86d35 [file] [log] [blame]
extern crate id_tree;
use id_tree::*;
fn main() {
use id_tree::InsertBehavior::*;
// 0
// / \
// 1 2
// / \
// 3 4
let mut tree: Tree<i32> = TreeBuilder::new().with_node_capacity(5).build();
let root_id: NodeId = tree.insert(Node::new(0), AsRoot).unwrap();
let child_id: NodeId = tree.insert(Node::new(1), UnderNode(&root_id)).unwrap();
tree.insert(Node::new(2), UnderNode(&root_id)).unwrap();
tree.insert(Node::new(3), UnderNode(&child_id)).unwrap();
tree.insert(Node::new(4), UnderNode(&child_id)).unwrap();
println!("Debug: {:?}", tree);
println!("Post-order:");
for node in tree.traverse_post_order(&root_id).unwrap() {
print!("{}, ", node.data());
}
println!();
println!("Pre-order:");
for node in tree.traverse_pre_order(&root_id).unwrap() {
print!("{}, ", node.data());
}
println!();
}