summaryrefslogtreecommitdiff
path: root/src/02/01/binary_tree.c
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-08-04 19:58:26 -0600
committermo khan <mo.khan@gmail.com>2020-08-04 19:58:37 -0600
commit6dd72268c1fae4f56b95f9a405eadcb5259e5686 (patch)
treeda8e0fb9af57a21ebf3c5a346c7c51bc34895503 /src/02/01/binary_tree.c
parent08d2c8d0264219ee020824534a33bfda1e288a43 (diff)
Print out binary tree
Diffstat (limited to 'src/02/01/binary_tree.c')
-rw-r--r--src/02/01/binary_tree.c12
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);
+}