c++实现二分查找算法
时间: 2024-09-12 14:09:17 浏览: 42
C++二分查找算法实例
在C++中,二分查找算法(Binary Search Algorithm)通常用于已排序的数组或列表中找到指定元素的位置。其基本思想是从数组中间开始比较,如果目标值小于中间值,则在左半部分继续查找;如果大于则在右半部分查找,直到找到目标值或者搜索范围为空。以下是简单的二分查找算法实现:
```cpp
#include <iostream>
// 定义二分查找函数
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;
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 5;
int result = binarySearch(arr, 0, n - 1, target);
if (result != -1)
std::cout << "Element found at index " << result << "\n";
else
std::cout << "Element not found in the array\n";
return 0;
}
```
阅读全文