import std.stdio;
void main() {
Node n1 = new Node(1);
Node n2 = new Node(2);
Node n3 = new Node(3);
Node n4 = new Node(4);
Node n5 = new Node(5);
Node n6 = new Node(6);
n2.push(n1);
n2.push(n6);
n2.push(n4);
n2.push(n5);
n2.search(4);
}
class Node
{
public:
int key;
Node left = null;
Node right = null;
public:
this(int _key) {
key = _key;
}
void search(int _key) {
if (key is _key) {
printf("hit.\n");
}
else if (key >= _key) {
if (left is null) {
} else {
left.search(_key);
}
}
else if (key < _key) {
if (right is null) {
} else {
right.search(_key);
}
}
}
void push(Node node) {
if (key >= node.key) {
if (left is null) {
left = node;
} else {
left.push(node);
}
}
if (key < node.key) {
if (right is null) {
right = node;
} else {
right.push(node);
}
}
}
}