C # uses pre-sequence traversal, middle sequence traversal and post-order traversal to print binary tree respectively
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 (B Inarytreenode root, Treetraversal treetraversal) {Action printvalue = delegate (int v) {Conso Le. 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 action, Binarytreenode root){if (root = null) return; Action (Root. Data); Preordertraversal (action, Root.) left); Preordertraversal (action, Root.) right); public void Inordertraversal (action action, Binarytreenode root) {if (root = null) return; Inordertraversal (action, Root.) left); Action (Root. Data); Inordertraversal (action, Root.) right); public void Postordertraversal (action action, Binarytreenode root) {if (root = null) return; Postordertraversal (action, Root.) left); Postordertraversal (action, Root.) right); Action (Root. Data); }