1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<limits> 5 #include<vector> 6 using namespace std; 7 struct BST{ 8 int key; 9 BST *lc, *rc; 10 BST(){ 11 this->key = 0; 12 lc = rc = NULL; 13 } 14 BST(int k){ 15 this->key = k; 16 lc = rc = NULL; 17 } 18 }; 19 BST* newNode(int item){ 20 BST *tmp = (BST*)malloc(sizeof(BST)); 21 tmp->key = item; 22 tmp->lc = tmp->rc = NULL; 23 return tmp; 24 } 25 BST* insert(BST *root, int item){ 26 if(root==NULL) return newNode(item); 27 if(item < root->key){ 28 root->lc = insert(root->lc,item); 29 } 30 else if(item > root->key){ 31 root->rc = insert(root->rc,item); 32 } 33 return root; 34 } 35 void inorder(BST *root){ 36 if(root!=NULL){ 37 inorder(root->lc); 38 cout<< root->key << endl; 39 inorder(root->rc); 40 } 41 } 42 int main(){ 43 BST *root = new BST(50); 44 for(int i=10;i<=200;i+=30){ 45 root = insert(root, i); 46 } 47 inorder(root); 48 return 0; 49 }