二叉树中instert的用法
时间: 2023-07-08 12:05:14 浏览: 99
二叉树中的insert操作是向树中插入一个新的节点。节点的插入需要满足二叉搜索树的性质,即左子树中的所有节点都小于该节点的值,右子树中的所有节点都大于该节点的值。具体操作步骤如下:
1. 如果树为空,则创建一个新节点作为根节点。
2. 如果插入节点的值小于当前节点的值,则递归地将节点插入到左子树中。
3. 如果插入节点的值大于当前节点的值,则递归地将节点插入到右子树中。
4. 如果插入节点的值等于当前节点的值,则不进行任何操作。
下面是一个C++代码实现二叉树的insert操作的例子:
```cpp
#include <iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x): val(x), left(nullptr), right(nullptr) {};
};
class BinarySearchTree {
public:
BinarySearchTree(): root(nullptr) {};
void insert(int val) {
root = insertHelper(root, val);
}
private:
TreeNode* root;
TreeNode* insertHelper(TreeNode* root, int val) {
if (!root) {
return new TreeNode(val);
}
if (val < root->val) {
root->left = insertHelper(root->left, val);
} else if (val > root->val) {
root->right = insertHelper(root->right, val);
}
return root;
}
};
int main() {
BinarySearchTree bst;
bst.insert(5);
bst.insert(3);
bst.insert(7);
bst.insert(1);
bst.insert(9);
return 0;
}
```
阅读全文