C++二叉树代码注释
时间: 2024-04-29 20:17:53 浏览: 67
当然,下面是一个简单的C++二树代码注释:
```cpp
#include <iostream>
using namespace std;
// 定义二叉树节点结构
struct TreeNode {
int val; // 节点值
TreeNode* left; // 左子节点指针
TreeNode* right; // 右子节点指针
// 构造函数
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 插入节点函数
void insertNode(TreeNode*& root, int val) {
if (root == NULL) {
root = new TreeNode(val); // 创建新节点
return;
}
if (val < root->val) {
insertNode(root->left, val); // 递归插入左子树
} else {
insertNode(root->right, val); // 递归插入右子树
}
}
// 前序遍历函数
void preorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
cout << root->val << " "; // 输出当前节点值
preorderTraversal(root->left); // 递归遍历左子树
preorderTraversal(root->right); // 递归遍历右子树
}
// 中序遍历函数
void inorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
inorderTraversal(root->left); // 递归遍历左子树
cout << root->val << " "; // 输出当前节点值
inorderTraversal(root->right); // 递归遍历右子树
}
// 后序遍历函数
void postorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
postorderTraversal(root->left); // 递归遍历左子树
postorderTraversal(root->right); // 递归遍历右子树
cout << root->val << " "; // 输出当前节点值
}
int main() {
TreeNode* root = NULL; // 根节点指针
// 插入节点
insertNode(root, 5);
insertNode(root, 3);
insertNode(root, 7);
insertNode(root, 2);
insertNode(root, 4);
cout << "前序遍历结果:";
preorderTraversal(root);
cout << endl;
cout << "中序遍历结果:";
inorderTraversal(root);
cout << endl;
cout << "后序遍历结果:";
postorderTraversal(root);
cout << endl;
return 0;
}
```
阅读全文