Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type ptree = ^tree;
- tree = record
- val : integer;
- left, right : ptree
- end;
- function __find(_t : ptree; _val : integer ) : ptree
- var iterator : ptree;
- begin
- iterator^ := _t^;
- while true do
- begin
- if child^.val > iterator^.val then
- begin
- if iterator^.right == nil
- begin
- __find := iterator;
- end
- else
- begin
- iterator^ := iterator^.right;
- end;
- end;
- if child^.val < iterator^.val then
- begin
- if(iterator.left == NULL)
- begin
- __find := iterator;
- end
- else
- begin
- iterator^ = iterator^.left;
- end;
- end;
- if child^.val = iterator^.val then begin __find := iterator end;
- end;
- end;
- procedure insert(_t : ptree; _val : integer)
- var t : ptree;
- begin
- t := __find(_t, _val);
- if t^.val = _val then begin exit end;
- if _val > t^.val then begin t^.right = make_tree(_val) end;
- if _val < t.val then begin t^.left = make_tree(_val) end;
- end;
- function find(_t : ptree; _val : integer) : boolean;
- var t : ptree;
- {
- t = __find(_t, _val);
- if t^.val = _val begin find := true end;
- else begin find := false end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement