public void AddTo(tnode node, int value) { if (node.data > value) { if (node.left == null) { node.left = new tnode(value); } else { AddTo(node.left, value); } } else { if (node.right == null) { node.right = new tnode(value); } else { AddTo(node.right, value); } } }
///////////////NLR\\\\\\\\\\\\\\\ public void NLR(tnode node) { if (node != null) { Console.Write($"{node.data}->"); NLR(node.left); NLR(node.right); } }
///////////////LRN\\\\\\\\\\\\\\\ public void LRN(tnode node) { if (node != null) { LRN(node.left); LRN(node.right); Console.Write($"{node.data}->"); } }
public int Height(tnode p) { int l, r, h = 0; if (p != null) { l = Height(p.left); r = Height(p.right); h = ((l > r) ? l : r) + 1; } return(h); }
///////////////ADD\\\\\\\\\\\\\\\ public void Add(int value) { if (_head == null) { _head = new tnode(value); } else { AddTo(_head, value); } count++; }
public void print_Tree(tnode head, int level) { if (head != null) { print_Tree(head.left, level + 1); for (int i = 0; i < level; i++) { Console.Write("___"); } Console.Write($"{head.data}\n"); print_Tree(head.right, level + 1); } }
public Tree() { _head = null; }
public tnode right; // правый потомок public tnode(int value) { data = value; left = null; right = null; }