Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace BinaryTrees
- {
- public class BinaryTree<T> where T : IComparable
- {
- public TreeNode<T> Root;
- public void Add(T key)
- {
- if (Root == null) Root = new TreeNode<T>(key);
- else
- {
- var item = Root;
- while (true)
- {
- var nextItem = key.CompareTo(item.Value) < 0 ? item.Left : item.Right;
- if (nextItem == null)
- {
- nextItem = new TreeNode<T>(key);
- if (key.CompareTo(item.Value) < 0) item.Left = nextItem;
- else item.Right = nextItem;
- break;
- }
- item = nextItem;
- }
- }
- }
- }
- public class TreeNode<T> where T : IComparable
- {
- public T Value;
- public TreeNode<T> Left, Right;
- public TreeNode(T key)
- {
- Value = key;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement