lower_bound函数复现
时间: 2023-11-12 16:00:01 浏览: 77
好的,下面是lower_bound函数的复现代码:
```c++
template <typename T>
int lower_bound(T arr[], int len, T target) {
int left = 0, right = len - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] >= target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return left;
}
```
这里假设传入的数组arr已经按照从小到大的顺序排好序了。函数返回的是第一个大于等于target的元素的下标,如果所有元素都小于target,则返回len。
阅读全文