数据结构与算法的C实现#系列---N叉树两

数据结构与算法的C实现#系列---N叉树两
算法与数据结构(C #实施)--- N叉树系列(二)

Heavenkiller(原创)

公共覆盖的程度

{

得到

{

返回this.degree;

}

}
仅用于空树节点

公共虚拟无效attachkey(对象_obj)

{

如果(!IsEmpty())

抛出新的异常():这个节点必须是空树节点!;

这_obj关键=;

这个树形=新的ArrayList(度); / /创建一个长的数组,它被初始化为空树

这个树形。能力=(int)this.degree;
为(int = i 0;i)

{

Treelist。添加(新narytree(的程度));

}

*

foreach(本。树形对象tmpobj)

{

tmpobj =新narytree(的程度);

}

* /

}

只对叶节点,叶节点进入空节点,并返回叶节点关键字引用。

公共虚拟对象DetachKey()

{

如果(!IsLeaf())

抛出新的异常(我:这个节点必须是一个叶子节点)!;

对象结果= this.key; / /存储该叶节点临时

这个键= null;

这种树形= null;
返回结果;

}

如果节点节点必须是空的且具有相同的度,则要连接到指定节点树的子树,否则抛出异常。

公共虚拟无效attachsubtree(个数,narytree _narytree)

{

如果(this.isempty())

抛出新的异常():它不能是空树!;

如果(!(这num-1 { }。IsEmpty)(this.degree = _narytree。度)|!)

抛出异常(我:这{·}必须是空的,他们应该有!)

这num-1 } = { _narytree;

}

只针对非空树定义,将它从给定树删除,甚至是空树,并返回到相同的级别,删除子树引用。

公共虚拟NaryTree DetachSubtree(个数)

{

如果(IsEmpty())

抛出新的异常():它不能是空的!;

narytree tmptree =这;

((NaryTree)这num-1 } {关键= null);

((NaryTree)这num-1 } { TreeList = null);
返回此;

}

}

}

tag:算法叉树数据结构系列电脑软件

相关内容