procedure SearchBucket( key : typekey; p : BucketAddress );
label 999;
var i : integer;
begin
while p <> nil do begin
ReadBucket(p) into bucket;
i := B;
while (i>1) and (bucket.r[i].k>key) do i := i-1;
if bucket.r[i].k = key then goto 999 {*** break ***}
else if i=B then p := bucket.next
else p := nil
end;
999:
if p <> nil then found( bucket.r[i] )
else notfound( key )
end;
|