summaryrefslogtreecommitdiff
path: root/src/02/01/binary_tree.c
diff options
context:
space:
mode:
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 af0d2b0..7fd9763 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 postorder_traversal(Node *node, Visitor visitor) {
+ if (!node)
+ return;
+
+ postorder_traversal(node->left, visitor);
+ postorder_traversal(node->right, visitor);
+ visitor(node);
+}
+
void destroy(Node *head) {
free(head);
}