算法列表 |
int B_search(SSTable ST, ElemType key) |
#define ElemType int
typedef struct {
ElemType *elem;
int length;
}SSTable;
//二分查找
int B_search(SSTable ST, ElemType key)
{
int low = 0, high = ST.length - 1;
int j = 0;
while (low <= high)
{
int mid = (low + high) / 2;
j++;
if (ST.elem[mid] == key)
{
std::cout << "共执行:" << j<< "次" << std::endl;
return mid;
}
else if (ST.elem[mid] < key)
low = mid + 1;
else
high = mid - 1;
}
}