int BinarySearch(List Tbl, ElementType K){
// 在表 Tbl 中查找关键字为 K 的数据元素
int left, right, mid, NotFound = -1;
// 初始化左右边界
left = 1;
right = Tbl->Length;
// 判断成立的条件就是 左边界在右边界左侧
while(left <= right){
// 计算中间元素坐标
mid = (left + right) / 2;
if(K < Tbl->Element[mid])
right = mid - 1;
else if(K > Tbl->Element[mid])
left = mid + 1;
// 查找成功,返回数据元素
else return mid;
}
return NotFound;
}