写一段二分查找代码
时间: 2023-07-10 08:13:40 浏览: 96
二分查找代码
好的,下面是一个使用二分查找算法在有序数组中查找特定值的示例代码(使用 C++ 实现):
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 二分查找函数
int binarySearch(vector<int>& nums, int target) {
int left = 0, right = nums.size() - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
vector<int> nums = {1, 3, 5, 7, 9};
int target = 5;
int index = binarySearch(nums, target);
if (index != -1) {
cout << "找到了,索引是:" << index << endl;
} else {
cout << "没找到!" << endl;
}
return 0;
}
```
该代码定义了一个 `binarySearch` 函数,它接受一个有序的整数数组 `nums` 和一个目标值 `target` 作为输入参数,并返回目标值在数组中的索引(如果存在)。如果目标值不在数组中,则返回 -1。在函数中,我们使用了循环和指针移动来实现二分查找算法。在最后的 `main` 函数中,我们定义了一个示例数组 `nums` 和一个目标值 `target`,并调用 `binarySearch` 函数来查找目标值在数组中的位置。
阅读全文