diff options
| author | mo khan <mo.khan@gmail.com> | 2020-08-04 19:58:26 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-08-04 19:58:37 -0600 |
| commit | 6dd72268c1fae4f56b95f9a405eadcb5259e5686 (patch) | |
| tree | da8e0fb9af57a21ebf3c5a346c7c51bc34895503 /src/02/01/binary_tree.c | |
| parent | 08d2c8d0264219ee020824534a33bfda1e288a43 (diff) | |
Print out binary tree
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); +} |
