Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef struct _tree
- {
- int val;
- struct _tree *left, *right;
- }tree;
- tree *t;
- t = make_tree();
- t.val = getint();
- tree *_find(tree *_t, int _val)
- {
- tree *child = make_tree();
- tree *iterator = _t;
- while(1)
- {
- if(child.val > iterator.val)
- {
- if(iterator.right == NULL)
- {
- //iterator.right = child;
- //break;
- return iterator;
- }
- else
- {
- iterator = iterator.right;
- }
- }
- if(child.val < iterator.val)
- {
- if(iterator.left == NULL)
- {
- //iterator.left = child;
- //break;
- return iterator;
- }
- else
- {
- iterator = iterator.left;
- }
- }
- if(child.val == iterator.val)return iterator;
- }
- }
- void insert(tree *_t, int _val)
- {
- tree *t = _find(_t, _val);
- if(t.val == _val)return;
- if(_val > t.val)t.right = make_tree(_val);
- if(_val < t.val)t.left = make_tree(_val);
- }
- bool find(tree *_t, int _val)
- {
- tree *t = _find(_t, _val);
- if(t.val == _val)return true;
- else return false;
- }
- main:
- while(1)
- {
- int i = getint();
- tree *child = make_tree();
- child.val = i;
- if(i == 0)break;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement