二叉寻找数的实现

来源:互联网 发布:淘宝天猫详情页尺寸 编辑:程序博客网 时间:2024/05/16 12:27

说明

  • 二叉树即每个节点最多有2个子节点
  • 二叉寻找数,即对于每个节点,满足:左子节点值<当前节点值<右子节点值,且树中任何两个元素均不相等

主要功能

  • 创建
  • 增加
  • 查找
  • 删除单个节点
  • 删除节点以及子节点

参考链接

  • 源代码网址
  • http://blog.csdn.net/ddupd/article/details/20142169

遇到的问题

  • 因为想着可能有intdouble类型的数据构成二叉树,所以采用类模板的方法,支持不同数据类型的传入,只要支持比较即可。但是在编写的过程中,把模板类分开写成.cpp.h时,会出现类似error LNK2019: unresolved external symbol "public: __thiscall BSTrees<int>::BSTrees<int>(void)" (??0?$BSTrees@H@@QAE@XZ) referenced in function _main的问题。最后发现,类模板只支持在同一个文件中编写。
  • 在删除节点时,要注意

    • 要想删除new出来的指针以及其内容,可以用

      delete p;p = NULL;
    • 两个指针指向同一个地址,则将其中指针置为NULL,另外一个指针仍然会指向该地址,但是delete p时,这个地址就被操作系统回收了,指向这块地址的指针都是变成undefined的了。
0 0
原创粉丝点击