编写C++代码用二分法搜索查找特定的整数89
时间: 2024-09-08 10:04:20 浏览: 63
在C++中,我们可以使用二分查找算法(也叫折半查找)来在一个有序数组中查找特定的整数。以下是基本的二分查找代码,假设我们有一个名为`arr`的已排序整数数组和目标值`target`(例如89):
```cpp
#include <iostream>
using namespace std;
// 二分查找函数
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; // 如果找到,返回索引
// 如果目标小于中间元素,则在左半部分继续查找
if (arr[mid] > target)
right = mid - 1;
// 否则,在右半部分查找
else
left = mid + 1;
}
// 如果找不到目标,返回 -1
return -1;
}
int main() {
int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 89;
int result = binarySearch(arr, 0, n - 1, target);
if (result != -1)
cout << "Element found at index: " << result << endl;
else
cout << "Element not found in the array" << endl;
return 0;
}
```
这段代码首先初始化数组`arr`,然后计算数组长度。接着,它调用`binarySearch`函数,该函数会根据给定条件递归地缩小查找范围,直到找到目标值或者范围变为零。如果找到目标值,返回其索引;如果没有找到,返回-1。
阅读全文