数据结构与算法(c#实现)系列—广义树(二)
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 wont be empty for ever
}
public override bool isleaf()
{
return this.degree==0;//if this trees 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;
}
}
}
