c++数据结构树的遍历代码
时间: 2024-10-11 10:03:38 浏览: 6
在 C++ 中,树的遍历主要有三种常见方法:前序遍历(Preorder Traversal)、中序遍历(Inorder Traversal)和后序遍历(Postorder Traversal)。这里以二叉树为例,给出基本的递归实现:
```cpp
// 定义二叉树节点
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
// 前序遍历 (根 -> 左 -> 右)
void preorderTraversal(TreeNode* root) {
if (root != nullptr) {
cout << root->val << " "; // 访问当前节点
preorderTraversal(root->left); // 遍历左子树
preorderTraversal(root->right); // 遍历右子树
}
}
// 中序遍历 (左 -> 根 -> 右)
void inorderTraversal(TreeNode* root) {
if (root != nullptr) {
inorderTraversal(root->left);
cout << root->val << " "; // 访问当前节点
inorderTraversal(root->right);
}
}
// 后序遍历 (左 -> 右 -> 根)
void postorderTraversal(TreeNode* root) {
if (root != nullptr) {
postorderTraversal(root->left);
postorderTraversal(root->right);
cout << root->val << " "; // 访问当前节点
}
}
```