using System;
using System
namespace DataStructure
{
/// <summary>
/// BinaryTree 的摘要說明
/// </summary>
public class BinaryTree:NaryTree
{
//構造二叉空樹
public BinaryTree():base(
{
//
// TODO: 在此處添加構造函數邏輯
//
}
public BinaryTree(object _obj):base(
{}
//
protected override object GetEmptyInstance(uint _degree)
{ return new BinaryTree(_degree); }
//
//重寫深度遍歷
public override void DepthFirstTraversal(IPrePostVisitor _vis)
{
if ( !IsEmpty() )
{
_vis
this[
_vis
this[
_vis
}
}
//二叉樹大小的比較
//先比較關鍵字
#region IComparable 成員
public override int CompareTo(object obj)
{
// TODO: 添加 BinaryTree
//因為Comare()中已經進行了類型斷定
BinaryTree tmpTree=(BinaryTree)obj;
if( this
return tmpTree
if( tmpTree
return
int result=Comparer
if(result==
result=this[
if(result==
result=this[
return result;
}
#endregion
}
}
From:http://tw.wingwit.com/Article/program/net/201311/12790.html