Searching array buckets with overflow


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;

Pascal source (343.bucket.p)



© Addison-Wesley Publishing Co. Inc.