数据结构二叉树插入函数
时间: 2023-07-07 10:46:15 浏览: 35
二叉树的插入操作通常包括以下步骤:
1. 如果树为空,则创建一个新节点作为根节点并返回。
2. 否则,从根节点开始遍历树(通常使用递归实现):
a. 如果要插入的值小于当前节点的值,则将其插入当前节点的左子树中。
b. 如果要插入的值大于当前节点的值,则将其插入当前节点的右子树中。
c. 如果要插入的值等于当前节点的值,则不进行任何操作。
3. 返回根节点。
下面是一个简单的 C++ 代码示例:
```c++
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
TreeNode* insert(TreeNode* root, int val) {
if (root == NULL) {
return new TreeNode(val);
}
if (val < root->val) {
root->left = insert(root->left, val);
} else if (val > root->val) {
root->right = insert(root->right, val);
}
return root;
}
```
这个代码定义了一个名为 `TreeNode` 的结构体,表示二叉树的节点。`insert` 函数接受一个根节点和一个整数值,返回插入后的根节点。如果树为空,则创建一个新节点作为根节点。否则,根据值的大小递归地插入到左子树或右子树中。最后返回根节点。
注意,在实际应用中,还需要考虑一些特殊情况,比如插入重复的值、节点内存管理等问题。
相关推荐

















