二分搜索算法实验cpp
时间: 2023-12-17 07:56:40 浏览: 25
好的,以下是一个简单的二分搜索算法实验的 CPP 代码示例:
```cpp
#include <iostream>
using namespace std;
int binarySearch(int arr[], int left, int right, int x) {
if (right >= left) {
int mid = left + (right - left) / 2;
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
return binarySearch(arr, left, mid - 1, x);
return binarySearch(arr, mid + 1, right, x);
}
return -1;
}
int main() {
int arr[] = { 2, 3, 4, 10, 40 };
int n = sizeof(arr) / sizeof(arr[0]);
int x = 10;
int result = binarySearch(arr, 0, n - 1, x);
(result == -1) ? cout << "Element is not present in array"
: cout << "Element is present at index " << result;
return 0;
}
```
以上代码中,`binarySearch` 函数用于实现二分搜索算法,接受一个整数数组 `arr`、要搜索的元素 `x`、以及数组的左右边界 `left` 和 `right`,返回 `x` 在数组中的位置,如果未找到则返回 `-1`。
在 `main` 函数中,我们定义了一个整数数组 `arr` 和要搜索的元素 `x`,并调用 `binarySearch` 函数进行搜索,最后输出搜索结果。在这个例子中,我们搜索的元素 `x` 在数组中的位置为 3,因此输出 `Element is present at index 3`。