#include using namespace std; template struct Node{ int key; T data; Node * left; Node * right; }; template class Tree{ private: Node * root; void addNodeRec(int key, int data, Node *(&temp) ){ if( temp == NULL ){ temp = new Node; temp->key = key; temp->data = data; temp->left = NULL; temp->right = NULL; //cout<<"Node added "<key<key > key){ addNodeRec(key, data, temp->left); }else{ addNodeRec(key, data, temp->right); } } } void printNode(Node * root){ if(root==NULL)return; //cout<<"printNode"<key<left); cout<key<<" "; printNode(root->right); } public: Tree(){root=NULL;} void addNode(int key, int data){ addNodeRec(key, data, this->root); ///cout<key<root); } }; int main(){ Tree T; T.addNode(5,1); T.addNode(3,1); T.addNode(4,1); T.addNode(2,1); T.addNode(1,1); T.addNode(8,1); T.addNode(9,1); T.addNode(7,1); T.addNode(6,1); T.print(); return 0; }