数据结构中二叉树遍历用c++写代码
时间: 2024-11-30 13:14:19 浏览: 2
BinarySearchTree.rar_数据结构_C/C++_
二叉树的遍历主要有三种基本方式:前序遍历、中序遍历和后序遍历。以下是使用C++实现这三种遍历的基本示例:
1. **前序遍历(根-左-右)**:
```cpp
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
void preorderTraversal(TreeNode* root) {
if (root != NULL) {
// 输出当前节点
cout << root->val << " ";
// 递归遍历左子树
preorderTraversal(root->left);
// 递归遍历右子树
preorderTraversal(root->right);
}
}
```
2. **中序遍历(左-根-右)**:
```cpp
void inorderTraversal(TreeNode* root) {
if (root != NULL) {
// 递归遍历左子树
inorderTraversal(root->left);
// 输出当前节点
cout << root->val << " ";
// 递归遍历右子树
inorderTraversal(root->right);
}
}
```
3. **后序遍历(左-右-根)**:
```cpp
void postorderTraversal(TreeNode* root) {
if (root != NULL) {
// 递归遍历左子树
postorderTraversal(root->left);
// 递归遍历右子树
postorderTraversal(root->right);
// 输出当前节点
cout << root->val << " ";
}
}
```
阅读全文