using system; namespace datastructure //------------------------------------------------------ public override int compareto(object obj) #endregion
using system.collections;
{
/// <summary>
/// binarytree 的摘要说明。
/// </summary>
public class binarytree:narytree
{
//构造二叉空树
public binarytree():base(2)
{
//
// todo: 在此处添加构造函数逻辑
//
}
public binarytree(object _obj):base(2,_obj)
{
}
protected override object getemptyinstance(uint _degree)
{
return new binarytree(_degree);
}
//------------------------------------------------------
//重写深度遍历
public override void depthfirsttraversal(iprepostvisitor _vis)
{
if ( !isempty() )
{
_vis.previsit(this.key);
this[0].depthfirsttraversal(_vis);
_vis.visit(this.key);
this[1].depthfirsttraversal(_vis);
_vis.postvisit(this.key);
}
}
//二叉树大小的比较
//先比较关键字,如果相等,再比较左子树,如果再相等,则比较右子树----如此递归
#region icomparable 成员
{
// todo: 添加 binarytree.compareto 实现
//因为comare()中已经进行了类型断定,故不会出现转型错误
binarytree tmptree=(binarytree)obj;
if( this.isempty() )
return tmptree.isempty()?0:-1;
if( tmptree.isempty() )
return 1;
int result=comparer.default.compare(this,tmptree);
if(result==0)
result=this[0].compareto(tmptree[0]);
if(result==0)
result=this[1].compareto(tmptree[1]);
return result;
}
}
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器