首页 > 解决方案 > 为什么二叉树中的根变量是节点而不是节点本身的指针?

问题描述

我正在尝试在 C++ 中实现二叉树,并且正在通过一些在线教程来了解更多信息。

我注意到所有教程都提到二叉树的根变量应该是指向根节点的指针,而不是节点本身。示例代码:

struct Node {
  int data;
  Node *left, *right;
};

class BinaryTree {
  private:
     Node *root;
};

为什么不创建根变量Node root,当我在二叉树中插入一个节点时,我可以为根分配值?

标签: c++binary-tree

解决方案


由于根节点也是一个节点,所以可以删除。如果它不是指针,则必须开始复制节点而不仅仅是移动指针。

nullptr如果树是空的,也可能是


推荐阅读