二叉树的插入代码,用c++语言编写
时间: 2024-04-11 12:28:38 浏览: 75
C++,二叉树的代码
当然可以!下面是一个示例的二叉树插入代码,使用C++语言编写:
```cpp
#include <iostream>
// 二叉树节点的定义
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
// 向二叉树中插入节点
TreeNode* insert(TreeNode* root, int val) {
if (root == nullptr) {
// 如果树为空,则创建一个新节点作为根节点
return new TreeNode(val);
}
if (val < root->val) {
// 如果插入值小于当前节点的值,则往左子树插入
root->left = insert(root->left, val);
} else {
// 如果插入值大于等于当前节点的值,则往右子树插入
root->right = insert(root->right, val);
}
return root;
}
// 中序遍历二叉树(用于验证插入操作)
void inorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
inorderTraversal(root->left);
std::cout << root->val << " ";
inorderTraversal(root->right);
}
int main() {
// 创建一个空的二叉树
TreeNode* root = nullptr;
// 向二叉树中插入节点
root = insert(root, 5);
root = insert(root, 3);
root = insert(root, 7);
root = insert(root, 2);
root = insert(root, 4);
// 中序遍历二叉树,输出结果
std::cout << "中序遍历结果: ";
inorderTraversal(root);
std::cout << std::endl;
return 0;
}
```
这段代码演示了如何向二叉树中插入节点,并使用中序遍历验证插入操作。你可以根据自己的需求修改插入的数值和遍历的方式。希望对你有所帮助!
阅读全文