C++编写一个二分查找函数
时间: 2023-07-19 18:06:00 浏览: 104
以下是C++编写的二分查找函数示例:
```c++
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right - left) / 2; // 计算中间位置
if (arr[mid] == target) { // 如果找到目标值,直接返回下标
return mid;
} else if (arr[mid] < target) { // 如果中间值小于目标值,缩小搜索范围到右半部分
left = mid + 1;
} else { // 如果中间值大于目标值,缩小搜索范围到左半部分
right = mid - 1;
}
}
return -1; // 如果未找到目标值,返回-1
}
```
该函数的参数说明:
- `arr[]`:表示需要进行查找的有序数组。
- `left`:表示需要查找的数组的起始下标。
- `right`:表示需要查找的数组的结束下标。
- `target`:表示需要查找的目标值。
函数使用while循环实现二分查找,每次计算中间位置,然后根据中间位置与目标值比较,缩小搜索范围。如果找到目标值,直接返回该元素的下标,否则最后返回-1表示未找到。
阅读全文