如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

BST Pascal

来自"NOCOW"

跳转到: 导航, 搜索
program pxtree;
const
 a:array[1..8] of integer=(10,18,3,8,12,2,7,3);
type point=^nod;
     nod=record
     w:integer;
     right,left:point ;
     end;
 var root,first:point;k:boolean;i,x:integer;
 procedure maketr(d:integer;var p:point);
 begin
  if p=nil then
   begin
    new(p);
    with p^ do begin w:=d;right:=nil;left:=nil end;
    if k then begin root:=p; k:=false end;
   end
  else with p^ do if d>=w then maketr(d,right) else maketr(d,left);
 end;
function searchtr(x:integer;p:point):boolean;
begin
 if p=nil then searchtr:=false
           else if x=p^.w then searchtr:=true
             else if x<p^.w then searchtr:=searchtr(x,p^.left)
               else searchtr:=searchtr(x,p^.right);
end;
begin
 first:=nil;k:=true;
 for i:=1 to 8 do maketr(a[i],first);
 write('want find data x:');read(x);
 if searchtr(x,first) then writeln('yes') else writeln('No');
end.
个人工具