1extern crate id_tree;
2
3use id_tree::*;
4
5fn main() {
6 use id_tree::InsertBehavior::*;
7
8 let mut tree: Tree<i32> = TreeBuilder::new().with_node_capacity(5).build();
14
15 let root_id: NodeId = tree.insert(Node::new(0), AsRoot).unwrap();
16 let child_id: NodeId = tree.insert(Node::new(1), UnderNode(&root_id)).unwrap();
17 tree.insert(Node::new(2), UnderNode(&root_id)).unwrap();
18 tree.insert(Node::new(3), UnderNode(&child_id)).unwrap();
19 tree.insert(Node::new(4), UnderNode(&child_id)).unwrap();
20
21 println!("Debug: {:?}", tree);
22
23 println!("Post-order:");
24
25 for node in tree.traverse_post_order(&root_id).unwrap() {
26 print!("{}, ", node.data());
27 }
28
29 println!();
30 println!("Pre-order:");
31
32 for node in tree.traverse_pre_order(&root_id).unwrap() {
33 print!("{}, ", node.data());
34 }
35
36 println!();
37}