标签:class void line static root tor null int delegate
public enum BinaryTreeTraversal
{
PreOrder,
InOrder,
PostOrder
}
public class BianaryTreeNode
{
public BianaryTreeNode Left
{
get;
set;
}
public BianaryTreeNode Right
{
get;
set;
}
public int Data
{
get;
set;
}
public BianaryTreeNode(int data)
{
this.Data = data;
}
}
public void PreOrderTraversal(Action<int> action, BianaryTreeNode root)
{
if (root == null)
{
return;
}
action(root.Data);
PreOrderTraversal(action, root.Left);
PreOrderTraversal(action, root.Right);
}
public void InOrderTraversal(Action<int> action, BianaryTreeNode root)
{
if (root == null)
{
return;
}
InOrderTraversal(action, root.Left);
action(root.Data);
InOrderTraversal(action, root.Right);
}
public void PostOrderTraversal(Action<int> action, BianaryTreeNode root)
{
if (root == null)
{
return;
}
PostOrderTraversal(action, root.Left);
PostOrderTraversal(action, root.Right);
action(root.Data);
}
public void PrintTree(BianaryTreeNode root, BinaryTreeTraversal traverse)
{
Action<int> PrintValue = delegate(int v)
{
Console.WriteLine(v);
};
switch (traverse)
{
case BinaryTreeTraversal.PreOrder:
PreOrderTraversal(PrintValue, root);
break;
case BinaryTreeTraversal.InOrder:
InOrderTraversal(PrintValue, root);
break;
case BinaryTreeTraversal.PostOrder:
PostOrderTraversal(PrintValue, root);
break;
default:
break;
}
}
static void Main(string[] args)
{
}
标签:class void line static root tor null int delegate
原文地址:http://www.cnblogs.com/zhangj391/p/6670509.html