private static Node BuildTree(int[] a, int l, int r) { if (l > r) { return null; } int mid = (l + r) / 2; Node n = new Node(a[mid]); n.left = BuildTree(a, l, mid - 1); n.right = BuildTree(a, mid + 1, r); return n; }
public static void PrintInorder(Node node) { if (node == null) return; /* first recur on left child */ PrintInorder(node.left); /* then print the data of node */ Console.WriteLine(node.data + " "); /* now recur on right child */ PrintInorder(node.right); }
public Node(int data) { this.data = data; left = right = null; }
public Node(int k) { Key = k; Left = null; Right = null; }