c++ - 为什么二叉树中的根变量是节点而不是节点本身的指针?
问题描述
我正在尝试在 C++ 中实现二叉树,并且正在通过一些在线教程来了解更多信息。
我注意到所有教程都提到二叉树的根变量应该是指向根节点的指针,而不是节点本身。示例代码:
struct Node {
int data;
Node *left, *right;
};
class BinaryTree {
private:
Node *root;
};
为什么不创建根变量Node root
,当我在二叉树中插入一个节点时,我可以为根分配值?
解决方案
由于根节点也是一个节点,所以可以删除。如果它不是指针,则必须开始复制节点而不仅仅是移动指针。
nullptr
如果树是空的,也可能是
推荐阅读
- r - 如果一个数据框中的数字符合另一个数据框定义的条件,则打印两个数据集中的信息
- ios - 如何在 iOS 中触发 didReceiveRemoteNotification?
- reactjs - 从 Method 访问 Redux 存储
- python - 为什么 html 渲染的电子邮件无法识别基于 cdn 的 css?
- git - 是否可以让 Azure DevOps Pipeline 将工件发布到辅助 GIT 存储库?
- c++ - 如何将 C++ 代码编译的结果存储在 bash 中的变量中?
- python - 如何在 Django Rest Framework 中保存多个视频和图像?
- swift - 使用 SwiftUI 移动带有图像的按钮
- python - 如何让语音助手等待命令
- android - Kotlin - 初始化 SharedPreferences