public node rightPointer;
public bool add(string item)
node newNode = new node();
newNode.leftPointer = null;
newNode.rightPointer = null;
node previous = currentNode;
while (currentNode != null)
if (item.CompareTo(currentNode.data)<0)
currentNode = currentNode.leftPointer;
currentNode = currentNode.rightPointer;
if (item.CompareTo(previous.data)<0)
previous.leftPointer = newNode;
previous.rightPointer = newNode;
public static void Main()
binarytree bt = new binarytree();
bt.add("Here we have the root.");
bt.add("And this is the left pointer.");
bt.add("This is the right pointer.");
bt.add("Extension task");
bt.add("This is the 5th node.");
Console.WriteLine(bt.root.data);
Console.WriteLine(bt.root.leftPointer.data);
Console.WriteLine(bt.root.rightPointer.data);
Console.WriteLine(bt.root.leftPointer.rightPointer.data);
Console.WriteLine(bt.root.rightPointer.leftPointer.data);
Console.WriteLine(bt.root.leftPointer.rightPointer.rightPointer.data);