c++ 二分查找stl
时间: 2023-08-28 18:16:57 浏览: 121
二分查找(基于C++)
在C++中,可以使用STL(标准模板库)提供的二分查找算法来实现二分查找。STL中的二分查找算法是在有序序列中查找特定值的快速方法。
你可以使用`std::binary_search`算法来执行二分查找。它返回一个布尔值,指示是否找到了指定的值。如果找到了,返回`true`;否则返回`false`。
下面是一个简单的示例代码,演示了如何使用STL的二分查找算法:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 使用二分查找算法查找值为 6 的元素
bool found = std::binary_search(nums.begin(), nums.end(), 6);
if (found) {
std::cout << "找到了" << std::endl;
} else {
std::cout << "未找到" << std::endl;
}
return 0;
}
```
在以上示例中,我们创建了一个有序序列 `nums`,然后使用 `std::binary_search` 在其中查找值为 6 的元素。如果找到了,就输出"找到了";否则输出"未找到"。
需要注意的是,前提条件是序列必须是有序的。如果序列无序,应该先对其进行排序,然后再进行二分查找。可以使用`std::sort`函数对序列进行排序。
阅读全文