【发布时间】:2019-03-19 03:34:46
【问题描述】:
我的代码 sn-p 是:
int bs_greaterthan_or_equal(int *a, int key, int low, int high) {
while(low<high) {
int mid = low +(high-low)/2.0;
if(a[mid]<key) {
low = mid + 1;
}
else high = mid;
}
return high;
}
但即使我搜索一个大于数组中最后一个元素的数字,它也会返回最后一个索引
例如 a[] = {1,3,10,15,20,25,27} 键 = 28 它返回 7
【问题讨论】: