hello/
hello.rs

1use common_tree::Node;
2
3struct NodeData {
4    id: usize,
5    name: String,
6}
7
8impl NodeData {
9    pub fn new(id: usize, name: String) -> Self {
10        Self {
11            id,
12            name,
13        }
14    }
15
16    pub fn print(&self) {
17        println!("id: {}, name: {}", self.id, self.name);
18    }
19}
20type HellNode = Node<NodeData>;
21
22fn main() {
23
24    let mut root = HellNode::new(NodeData::new(0, format!("root")));
25
26    root.data().print();
27
28    let mut level1_0 = HellNode::new(NodeData::new(1, format!("level1_0")));
29    let mut level1_1 = HellNode::new(NodeData::new(2, format!("level1_1")));
30
31    let level2_0_0 = HellNode::new(NodeData::new(3, format!("level2_0_0")));
32    let level2_0_1 = HellNode::new(NodeData::new(4, format!("level2_0_1")));
33
34    level1_0.add(level2_0_0);
35    level1_0.add(level2_0_1);
36
37    let level2_1_0 = HellNode::new(NodeData::new(3, format!("level2_1_0")));
38
39    
40    level1_1.add(level2_1_0);
41
42    root.add(level1_0);
43    root.add(level1_1);
44
45    root.deepth_first_search(|nd| nd.print());
46
47    root.breadth_first_search(|nd| nd.print());
48}