写一段二分法的C++代码
时间: 2023-07-10 21:05:00 浏览: 77
下面是一个基本的二分查找算法的C++代码:
```c++
#include <iostream>
using namespace std;
int binarySearch(int arr[], int low, int high, int target)
{
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target)
return mid;
else if (arr[mid] < target)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
int main()
{
int arr[] = { 2, 4, 6, 8, 10, 12 };
int n = sizeof(arr) / sizeof(arr[0]);
int target = 8;
int result = binarySearch(arr, 0, n - 1, target);
if (result == -1)
cout << "Element is not present in array";
else
cout << "Element is present at index " << result;
return 0;
}
```
这个函数接受一个整数数组、数组的起始和结束索引以及要查找的目标元素作为参数。它使用 while 循环来不断缩小搜索范围,直到找到目标元素或搜索范围为空。如果找到目标元素,则返回其索引;否则返回 -1。在上面的例子中,我们在数组 { 2, 4, 6, 8, 10, 12 } 中查找元素 8,然后打印出它的索引。
阅读全文