Lesson 2 of 14
Inorder Traversal
Inorder Traversal
Tree traversal means visiting every node in a defined order. There are three classic traversal orders — inorder, preorder, and postorder — each with different uses.
Inorder: left subtree → current node → right subtree
4
/ \
2 6
/ \ / \
1 3 5 7
Inorder visits: 1 2 3 4 5 6 7
For a Binary Search Tree, inorder traversal always yields values in sorted ascending order.
Implementation
Inorder traversal is naturally recursive:
void inorder(struct Node *root) {
if (root == NULL) return;
inorder(root->left);
printf("%d\n", root->val);
inorder(root->right);
}
The base case (root == NULL) handles empty subtrees — when a node has no left or right child, those recursive calls return immediately.
Your Task
Implement void inorder(struct Node *root) that prints each node's value on its own line, visiting left subtree, then root, then right subtree.
TCC compiler loading...
Loading...
Click "Run" to execute your code.