二叉树为什么用二级指针
时间: 2023-11-14 21:14:05 浏览: 82
用C++二级指针、创建、删除二叉树
在二叉树的操作中,我们需要对树节点进行修改操作,如插入、删除等。而二叉树的节点结构体中包含了指向左右子节点的指针,如果我们使用单级指针来访问和修改节点,那么在进行插入、删除等操作时,需要修改指针指向的节点,这会影响到原来节点的指针指向,从而导致问题。
使用二级指针可以解决这个问题。我们可以通过传递指向指针的指针(即二级指针),来实现对节点指针的修改。这样就可以在进行插入、删除等操作时,不影响原来的节点指针。
例如,对于一个插入操作,在函数中通过二级指针来传递指向节点的指针,如果要在节点的左子树中插入一个新节点,我们可以使用下面的代码:
```
void insert(TreeNode** root, int val) {
if (*root == nullptr) {
*root = new TreeNode(val);
return;
}
// 在左子树中插入新节点
insert(&((*root)->left), val);
}
```
这样,我们就可以通过传递指向指针的指针,来实现对节点指针的修改。
阅读全文