本文实例讲述了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#程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析
网友评论