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

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

Heavenkiller( 原创 )

//overwrite Object.Equals() --- reference type realization

public override bool Equals( object _obj)

{

if ( _obj== null )

return false ; // 因为 this 不可能为 null

if ( ! ( this .GetType()==_obj.GetType()) )

return false ; // 类型不相等也不相等

Tree tmpObj=(Tree)_obj;

// 比较引用成员

if ( !Object.Equals( this .Key,tmpObj.Key) )

return false ;

// 比较值类型成员

if ( ! this .Degree.Equals(tmpObj.Degree) )

return false ;

//if( !this.Height.Equals(tmpObj.Height) )

//return false;

return true ;

}

// 在此重载 ==,!= 后, 在以后继承的类中不必实现了

public static bool operator ==(Tree _treeA,Tree _treeB)

{

return Object.Equals(_treeA,_treeB);

}

public static bool operator !=(Tree _treeA,Tree _treeB)

{

return !(_treeA==_treeB);

}

#region IComparable 成员

public virtual int CompareTo( object obj)

{

// TODO: 添加 Tree.CompareTo 实现

return 0;

}

#endregion

}

}

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