//******************************************
//折半查找---传进来的表是经过排序后的有序表
//
//*******************************************
void Search_Bin ( SSTable ST, string key ) {
int low , mid,index, high ; // 置区间初值
low=1;
index=0;
high=ST.length;
while (low<=high)
{
mid = (low+high)/2;
if (key ==ST.elem[mid].key )
{
cout<<endl<<"折半查找该关键字的位置是第 "<<mid<<" 位\n"; // 找到待查元素
cout<<endl<<endl;
return;
}
else if (key < ST.elem[mid].key )
high = mid - 1; // 继续在前半区间进行查找
else low = mid + 1; // 继续在后半区间进行查找
}
cout<<endl<<"抱歉,折半查找没找到该关键字。\n";
cout<<endl<<endl;
}
折半查找
最新推荐文章于 2022-08-08 18:51:52 发布