数据结构与算法(C#实现)系列---广义树(二)

数据结构与算法 (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 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 ;

}

}

}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus