数据结构与算法(C#实现)系列---树(三)
发布时间:2006-10-14 3:12:52   收集提供:gaoqian

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

    

     }

}

 

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50