二叉查找树的基类实现(总)

现在有这几个文件:

objectclass.h 定义一种数据基类型,以便查找树节点使用

当后面要用到数据类型是就继承它

IntClass.h 定义整数数据类型,从ObjetClass类继承而来

StringClass.h 定义字符串数据类型,从ObjetClass类继承而来

BinaryTreeNode.h 定义树的节点

具有关键字(key),值(value),父节点指针,儿子节点指针

BSTree.h 定义二叉搜索树

具有搜索 (get) ,插入(insert),删除(remove),遍历输出(output)功能.

其他部分具体的实现是容易的,只有删除操作稍微麻烦一点,在使用模板类的实现时讨论。

 

与模板类实现相比缺点是不是很方便,因为它节点内部的数据类型是自己定义类结构

必须从ObjectClass类继承而来,这就不能直接使用C++库中已经存在的数据类型。

就像例子中的使用整数数据类型都要自己定义一下,很不方便。

优点是它可以使用多态,后面的AVL树和红黑树将继承它。

 

后续将一步一步实现这个数据结构。

为了便于打印出树的结构,对代码做一些修改,并且加入一个新的类Queue(见附加部分)。

转载于:https://www.cnblogs.com/xiao-cheng/archive/2011/10/01/2197154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值