diff options
Diffstat (limited to 'src/02/01/binary_tree.c')
| -rw-r--r-- | src/02/01/binary_tree.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/02/01/binary_tree.c b/src/02/01/binary_tree.c index 0d68a90..cc3e666 100644 --- a/src/02/01/binary_tree.c +++ b/src/02/01/binary_tree.c @@ -1,4 +1,5 @@ #include "binary_tree.h" +#include <stdio.h> #include <stdlib.h> Node *initialize(int data) { @@ -38,3 +39,14 @@ void traverse(Node *node, Visitor visitor, enum Traversal traversal) { static void destructor(Node *node) { free(node); } void destroy(Node *head) { traverse(head, destructor, POSTORDER); } + +void inspect(Node *node, int level) { + if (!node) + return; + + for (int i = 0; i < level; i++) + printf(" "); + printf("(%d)\n", node->data); + inspect(node->left, level + 1); + inspect(node->right, level + 1); +} |
