File tree Expand file tree Collapse file tree 1 file changed +13
-8
lines changed
chapters/tree_traversal/code/c Expand file tree Collapse file tree 1 file changed +13
-8
lines changed Original file line number Diff line number Diff line change @@ -95,17 +95,22 @@ void dfs_recursive_postorder(node n) {
95
95
}
96
96
97
97
void dfs_recursive_inorder_btree (node n ) {
98
- if (n .children_num > 2 ) {
99
- printf ("This is not a binary tree.\n" );
100
- return ;
101
- }
102
-
103
- if (n .children_num > 0 ) {
98
+ switch (n .children_num ) {
99
+ case 2 :
104
100
dfs_recursive_inorder_btree (n .children [0 ]);
105
101
printf ("%d\n" , n .id );
106
102
dfs_recursive_inorder_btree (n .children [1 ]);
107
- } else {
103
+ break ;
104
+ case 1 :
105
+ dfs_recursive_inorder_btree (n .children [0 ]);
108
106
printf ("%d\n" , n .id );
107
+ break ;
108
+ case 0 :
109
+ printf ("%d\n" , n .id );
110
+ break ;
111
+ default :
112
+ printf ("This is not a binary tree.\n" );
113
+ break ;
109
114
}
110
115
}
111
116
@@ -164,7 +169,7 @@ void destroy_tree(node *n) {
164
169
int main () {
165
170
node root ;
166
171
create_tree (& root , 3 , 3 );
167
- // dfs_recursive(root);
172
+ dfs_recursive (root );
168
173
//dfs_stack(root);
169
174
//bfs_queue(root);
170
175
destroy_tree (& root );
You can’t perform that action at this time.
0 commit comments