Professional Documents
Culture Documents
Tree Traversal in C
Tree Traversal in C
#include <iostream>
#include <queue>
return root;
}
// In-order traversal of the binary tree
void inorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
inorderTraversal(root->left);
std::cout << root->data << " ";
inorderTraversal(root->right);
}
std::queue<TreeNode*> nodeQueue;
nodeQueue.push(root);
while (!nodeQueue.empty()) {
TreeNode* current = nodeQueue.front();
std::cout << current->data << " ";
nodeQueue.pop();
if (current->left) {
nodeQueue.push(current->left);
}
if (current->right) {
nodeQueue.push(current->right);
}
}
}
int main() {
TreeNode* root = nullptr;
root = insert(root, 50);
insert(root, 30);
insert(root, 70);
insert(root, 20);
insert(root, 40);
insert(root, 60);
insert(root, 80);
return 0;
}