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

本文介绍了一个名为Tree的类的实现细节,包括如何通过重写Equals方法来比较两个Tree对象是否相等,并定义了用于比较的逻辑。此外,还展示了如何重载==和!=运算符以简化对象间的比较,并提供了一个待完成的CompareTo方法用于实现对象间的排序。

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



        }



}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值