#2
yuccn2012-12-20 12:19
|
int Search_Bin(SSTable ST,KeyType key)
{
int low,high,mid,i;
int find=0;
low=1; high=ST.length;
if(mid%2==0)
mid=(low+high)/2;
if(mid%2==1)
mid=(low+high+1)/2;
while (low<=high&&find==0)
{ if(mid%2==0)
mid=((low+high)/2);
if(mid%2==1)
mid=(low+high+1)/2;
if(key<ST.elem[mid] )
high=mid-1;
else if (key>ST.elem[mid])
low=mid+1;
else
{
i=mid;
find=1;
}
}
if(find==1)
return i;
else
return 0;