C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法

Autumn ·
更新时间:2024-09-21
· 989 次阅读

本文实例讲述了C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法。分享给大家供大家参考。具体实现方法如下:

public class BinaryTreeNode { public BinaryTreeNode Left { get; set; } public BinaryTreeNode Right { get; set; } public int Data { get; set; } public BinaryTreeNode(int data) { this.Data = data; } } public enum TreeTraversal { PREORDER, INORDER, POSTORDER } public void PrintTree(BinaryTreeNode root, TreeTraversal treeTraversal) { Action<int> printValue = delegate(int v) { Console.Write(v + " "); }; switch (treeTraversal) { case TreeTraversal.PREORDER: PreOrderTraversal(printValue, root); break; case TreeTraversal.INORDER: InOrderTraversal(printValue, root); break; case TreeTraversal.POSTORDER: PostOrderTraversal(printValue, root); break; default: break; } } public void PreOrderTraversal(Action<int> action, BinaryTreeNode root) { if (root == null) return; action(root.Data); PreOrderTraversal(action, root.Left); PreOrderTraversal(action, root.Right); } public void InOrderTraversal(Action<int> action, BinaryTreeNode root) { if (root == null) return; InOrderTraversal(action, root.Left); action(root.Data); InOrderTraversal(action, root.Right); } public void PostOrderTraversal(Action<int> action, BinaryTreeNode root) { if (root == null) return; PostOrderTraversal(action, root.Left); PostOrderTraversal(action, root.Right); action(root.Data); }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C#之Expression表达式树实例关于c#二叉树的实现C# 递归查找树状目录实现方法ASP.NET C#生成下拉列表树实现代码一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)C#实现获取系统目录并以Tree树叉显示的方法C# TreeView无限目录树实现方法C#求解哈夫曼树,实例代码c#反射表达式树模糊搜索示例C#通过KD树进行距离最近点的查找



方法 二叉树 后序遍历 前序遍历 中序遍历 遍历 C#

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章