Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int y;
- struct node
- {
- int data;
- struct node* left;
- struct node* right;
- };
- typedef struct node Node;
- Node* create_node(int item)
- {
- Node* new_node=new Node();
- if(new_node==NULL)
- cout<<"Error"<<endl;
- else
- {
- new_node->data=item;
- new_node->left=new_node->right=NULL;
- }
- return new_node;
- }
- void inorder(Node* x)
- {
- if(x!=NULL)
- {
- inorder(x->left);
- cout<<x->data<<" ";
- inorder(x->right);
- }
- }
- Node* insert_key(Node* x,int key)
- {
- Node* new_node=create_node(key);
- if(x==NULL)
- return new_node;
- if(key>x->data+3)
- {
- x->right=insert_key(x->right,key);
- }
- else if(key<x->data-3)
- {
- x->left=insert_key(x->left,key);
- }
- else
- y=0;
- return x;
- }
- int main()
- {
- Node* root=NULL;
- while(1)
- {
- int n;
- cin>>n;
- y=1;
- if(n!=-1)
- {
- root=insert_key(root,n);
- inorder(root);
- if(y==0)
- cout<<"(Reservation failed)"<<endl;
- else
- cout<<endl;
- }
- else
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment