数据结构与算法(C#实现)系列---广义树(二)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
Heavenkiller(原创)
public override object Key{get{return this.key;}}
public override uint Degree{get{return this.degree;}}
//public override uint Height{get{return this.height;}}
public override bool IsEmpty()// property takes the place of IsEmpty()
{
return false;//generaltree won't be empty for ever
}
public override bool IsLeaf()
{
return this.degree==0;//if this tree's degree is zero, it means the tree has no subtrees, so it is leaf certainly
}
//overwrite Object.Equals() --- reference type realization
public override bool Equals(object _obj)
{
if( !base.Equals(_obj) )
return false;//基类比较不相等,则不相等
//基类中的一些条目在此可免去
//在基类中已判定其为GeneralTree类型,故转型不会失败
GeneralTree tmpTree=(GeneralTree)_obj;
//比较引用成员
if( !Object.Equals(this.treeList,tmpTree.treeList) )
return false;
//比较值类型成员
return true;
}
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10794571/viewspace-974271/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10794571/viewspace-974271/
本文介绍了使用C#实现广义树的方法,并提供了关键代码片段。重点讲解了属性如Key、Degree的实现方式,以及如何判断节点是否为空或叶子节点。此外还详细展示了如何重写Equals方法来比较两个广义树实例是否相等。
1637

被折叠的 条评论
为什么被折叠?



