折半查找(二分查找)是在有序且以顺序存储结构存储的静态查找表中进行查找的一种效率较高的查找方法。设顺序表存储在一维数组 sstable 中,其中有 n 个数据元素,数据元素用 elem 表示,数据元素的关键字满足下列条件: elem[1].key<=elem[2].key<=……<=elem[n].key 。
以下是折半查找算法。请将其补充完整。其中变量 low 、 high 和 mid 分别表示当前查找范围的下界、上界和中间位置。
int search_bin(sstable ST,KeyType key){
low=1
high=ST.length
while(low<high){
mid=(low+high)/2
if (key==ST.slem[mid]key )
return mid
else if key<ST.elem[mid]
___________
else
_____________
}
return 0;
}