	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;
