summaryrefslogtreecommitdiff
path: root/src/02/01/binary_tree.c
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-07-11 17:03:13 -0600
committermo khan <mo.khan@gmail.com>2020-07-11 17:03:13 -0600
commit23b4a81bb267e486c7bd1d594c400928af8729c8 (patch)
treee8cbc2970734f293fbf6cd70b23965059ea8708e /src/02/01/binary_tree.c
parent01080bad55e3d7ae47c6b1df64c48496b32ba544 (diff)
Implement recursive inorder traversal of binary tree
Diffstat (limited to 'src/02/01/binary_tree.c')
-rw-r--r--src/02/01/binary_tree.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/02/01/binary_tree.c b/src/02/01/binary_tree.c
index 00abae5..7cdd197 100644
--- a/src/02/01/binary_tree.c
+++ b/src/02/01/binary_tree.c
@@ -18,6 +18,15 @@ void preorder_traversal(Node *node, Visitor visitor) {
preorder_traversal(node->right, visitor);
}
+void inorder_traversal(Node *node, Visitor visitor) {
+ if (!node)
+ return;
+
+ inorder_traversal(node->left, visitor);
+ visitor(node);
+ inorder_traversal(node->right, visitor);
+}
+
void postorder_traversal(Node *node, Visitor visitor) {
if (!node)
return;