二分查找C++完整代码算法设计
时间: 2024-09-11 18:00:27 浏览: 20
二分查找也叫折半查找,是一种高效的查找算法,适用于已排序的数组。以下是使用C++编写的二分查找的完整代码示例:
```cpp
#include <iostream>
// 定义二分查找函数
int binarySearch(int arr[], int left, int right, int target) {
if (left <= right) {
// 计算中间位置
int mid = left + (right - left) / 2;
// 如果中间元素正好是我们要找的
if (arr[mid] == target)
return mid;
// 如果中间元素大于目标,我们在左半部分继续查找
else if (arr[mid] > target)
return binarySearch(arr, left, mid - 1, target);
// 否则,我们在右半部分查找
else
return binarySearch(arr, mid + 1, right, target);
}
// 没有找到,返回 -1 表示未找到
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9, 11, 13};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 9; // 要查找的目标值
int result = binarySearch(arr, 0, n - 1, target);
if (result != -1)
std::cout << "Element found at index: " << result << std::endl;
else
std::cout << "Element not found in the array" << std::endl;
return 0;
}
```
在这个代码中,`binarySearch` 函数接收一个整数数组、数组的左右边界以及要查找的目标值。它通过不断将搜索范围减半的方式,直到找到目标元素或搜索范围为空。