课程里回抛为了打印日志,如果没有需要,可以不回抛的
你Tree的头文件应该有问题,对照看一下。
你的AddNode方法里的判断是不是判断为 if(newIndex == 0) 了?
https://blog.csdn.net/zxnsirius/article/details/52131433
因为返回的是一个地址,加*说明取里面的值
visual studio 2013
代表那个位置没有结点
哈弗曼树:给出一系列字符的权值,每次合并两个最小的权值并在集合中删去,将他们的和加入集合,直到剩下一个权值。这个权值就是哈弗曼编码的总长度。可采用优先队列实现
你把你的头文件贴出来啊!!!
抱歉,没有看完视频就草草提问。没什么问题了
文件->新建文件->visual C++
0就是作为一个没有此结点的标记,如果实际数据中没有0才能使用0作为标记。如果实际数据中有0,则可以取一个不可能取到的数据作为标记,比如宏定义一个很大或很小的数。
需要删除。
在这里明确告诉你,不是一定是要指针
你试着把*都去掉,你就发现,还是能运行
我觉得这个老师在这里用指针主要有2个原因:
1、取地址传递参数效率更快
2、后面用链表表示二叉树的时候,确实是一个个节点,那时候就必须用指针,所以在这里二者做了一个格式上的统一
插入里面把
if(index==0)
{
return false;
}
去掉
你的第七行语句,if(direction==0)出现了两个等号,这种编译器一般不会报错
因为search函数的返回值为int* ,即函数调用者本身也是一个int* ,函数的返回值要赋给它,必须得是地址才行。因此要加取址符。希望对你有帮助~
如果nodeIndex的节点为空的话,那么也就代表它就没有对应的左、右孩子。