数据结构中,如果树的节点类型不同,则该如何建立这棵树

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:24:10
具体来说:
比如一棵二叉树,它的节点都是不同类型的结构体,那么该如何去建立这棵二叉树呢
望各位高手谈谈思路
问题的关键是:比如一个多叉树,它的插入函数如下
struct TNode
{
.....
struct TNode *ichild[N];
};
void insert(TNode *root,TNode_1 item)
{
.....
//如果找到了合适的位置就插入新节点

root->ichild[i]=(TNode_1*)malloc(sizeof(TNode_1));

}
在这里,问题是root->ichild[i]的类型和需要插入的节点类型TNode_1不一样;即父节点与将要插入的 子节点类型不一样

这可以通过类的继承来解决。。。不知道各位怎么想的?

可以在树的节点上设置一个字段,表示节点的类型,就可以了啊

只要你自己根据节点类型,去申请,释放和操作节点,是没有问题的

其实,很多系统里面的控件树,就是这样的一棵树,节点有可能是列表框,也有可能是按钮。

我看你应该去学一学。。劈脚了`````````

建立树的节点时,定义多个域来说明。

用继承的思路是正确的,这涉及到“容器”概念,建议往这方面钻研!