include <iostream>
// 定义二叉树节点结构
struct TreeNode {
int data;
TreeNode* left;
TreeNode* right;
TreeNode(int val) : data(val), left(nullptr), right(nullptr) {}
};
// 向二叉树中添加节点的函数
void insertNode(TreeNode*& root, int value) {
if (root == nullptr) {
root = new TreeNode(value);
return;
}
if (value < root->data) {
if (root->left == nullptr) {
root->left = new TreeNode(value);
} else {
insertNode(root->left, value);
}
} else {
if (root->right == nullptr) {
root->right = new TreeNode(value);
} else {
insertNode(root->right, value);
}
}
}
// 中序遍历打印二叉树节点值
void inorderTraversal(TreeNode* root) {
if (root == nullptr) return;
inorderTraversal(root->left);
std::cout << root->data << " ";
inorderTraversal(root->right);
}
int main() {
TreeNode* root = nullptr;
// 添加节点
insertNode(root, 5);
insertNode(root, 3);
insertNode(root, 7);
insertNode(root, 1);
insertNode(root, 4);
insertNode(root, 6);
insertNode(root, 8);
// 打印二叉树
std::cout << "Inorder Traversal: ";
inorderTraversal(root);
std::cout << std::endl;
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。