File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change
1
+ tree = [
2
+ "root" , [
3
+ "child1" , [
4
+ ["child1.1" , []],
5
+ ["child1.2" , []]
6
+ ]
7
+ ],
8
+ ["child2" , []]
9
+ ]
10
+
11
+ def print_tree (tree , level = 0 ):
12
+ for node in tree :
13
+ if type (node ) == list :
14
+ print_tree (node , level + 1 )
15
+ else :
16
+ print (" " * level , node )
17
+
18
+ def add_child (value , parent ):
19
+ parent .append ([value , []])
20
+
21
+ def add_sibling (value , parent ):
22
+ parent [- 1 ].append ([value , []])
23
+
24
+ def edit_node (value , parent ):
25
+ parent [- 1 ][0 ] = value
26
+
27
+ def delete_node (parent ):
28
+ parent .pop ()
29
+
30
+ print_tree (tree )
31
+ print ("===============" )
32
+ add_child ("child1.3" , tree [1 ][1 ])
33
+ add_sibling ("child2.1" , tree [2 ])
34
+ add_sibling ("child2.2" , tree [2 ])
35
+
36
+ add_child ("child3" , tree )
37
+ add_sibling ("child3.1" , tree [3 ])
38
+ edit_node ("root1" , tree )
39
+
40
+ print_tree (tree )
41
+ print ("===============" )
42
+ delete_node (tree [1 ])
43
+ print_tree (tree )
You can’t perform that action at this time.
0 commit comments