C++ AVL树代码-I don';我不明白

C++ AVL树代码-I don';我不明白,c++,tree,C++,Tree,高度(-1)-高度(空)=1??不平衡?你的要求不是100%清楚。代码 1 0 -1 声明t是对非常量指针的引用。因此,函数insert可能会更改调用者的指针对象。由于指针可能为空,代码可能使用名为height的函数作为处理空指针特殊情况的快捷方式: AvlNode * & t (只是我对身高的猜测) 在编辑问题后添加: 似乎每个节点都有一个名为height的成员,该成员保持同步,并反映从当前节点到叶的路径的最大长度。由于空指针不指向节点,因此子树将为空,

高度(-1)-高度(空)=1??不平衡?

你的要求不是100%清楚。代码

       1
     0
  -1
声明t是对非常量指针的引用。因此,函数insert可能会更改调用者的指针对象。由于指针可能为空,代码可能使用名为
height
的函数作为处理空指针特殊情况的快捷方式:

AvlNode * & t
(只是我对身高的猜测)

在编辑问题后添加:
似乎每个节点都有一个名为
height
的成员,该成员保持同步,并反映从当前节点到叶的路径的最大长度。由于空指针不指向节点,因此子树将为空,这就解释了height()中返回-1的特殊情况。

还不是100%清楚您在问什么。代码

       1
     0
  -1
声明t是对非常量指针的引用。因此,函数insert可能会更改调用者的指针对象。由于指针可能为空,代码可能使用名为
height
的函数作为处理空指针特殊情况的快捷方式:

AvlNode * & t
(只是我对身高的猜测)

在编辑问题后添加:
似乎每个节点都有一个名为
height
的成员,该成员保持同步,并反映从当前节点到叶的路径的最大长度。由于空指针不指向节点,因此子树将为空,这解释了height()中返回-1的特殊情况。

int height(AvlNode*t)const{return t==null?-1:t->height;}这是height函数,我完全不理解XD XD。你能解释一下前面的那棵树吗,高度必须加起来,对吗?comment.int height(AvlNode*t)const{return t==NULL?-1:t->height;}这是height函数,我完全不理解XD XD。你能解释一下前面的那棵树吗,高度必须加起来,对吗?谢谢你的评论。你到底不明白什么?理解C++语法有问题吗?还是只是涉及到算法?我真的不理解它计算树的高度的方法。我是说。谢谢:)你到底不明白什么?理解C++语法有问题吗?还是只是涉及到算法?我真的不理解它计算树的高度的方法。我是说。谢谢:)