首页 > 其他 > 详细

前序,中序,后序遍历

时间:2017-04-05 21:51:28      阅读:139      评论:0      收藏:0      [点我收藏+]

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)
{

}

前序,中序,后序遍历

原文:http://www.cnblogs.com/zhangj391/p/6670509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!