#include <iostream.h>
struct tree_node
{
struct tree_node *left;
struct tree_node *right;
int data;
};
struct tree_node * add_node(struct tree_node *root, int data);
int main ( void)
{
struct tree_node root = {0, 0, 123};
add_node(&root, 34);
if (root.left) std::cout << "Added to the left\n";
else std::cout << "Added to the right\n";
if (root.left) delete root.left;
else delete root.right;
return 0;
}
struct tree_node * add_node(struct tree_node *root, int data)
{
if (!root)
{
root = new tree_node();
root->left = root->right = 0;
root->data = data;
}
else if (root->data > data)
root->left = add_node(root->left, data);
else
root->right = add_node(root->right, data);
return root;
}