C#分别用前序遍历、中序遍历和后序遍历打印二叉树
发布时间:2020-12-15 17:54:57 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public class BinaryTreeNode{ public BinaryTreeNode Left { get; set; } public BinaryTreeNode Right { get; set; } public int Data { get; set;
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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); } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 带有Rails 3.0的Google Maps API
- c# – 组织单独的项目中的代码与单独的命名空间
- c – 将派生类unique_ptr分配给基类unique_ptr
- Swift快速给Cocoa库内置类添加便捷初始化器
- cocos植物大战僵尸(三)游戏场景:地图滚动
- 正则表达式 – 如何grep文件中的URL?
- 创建一个变量来保存不同类型的对象C.
- 是否有工具从XSD在Haskell中生成XML pickler?
- 设计模式6大原则之里氏替换原则(Liskov Substitution Prin
- ruby-on-rails – Rails 3:Model.all => NoMethodError:未