c++ - std 库中有什么函数可以对 vector 进行二进制搜索并找到元素?

标签 c++ vector std binary-search

我有一个节点结构

struct Node{CString text, int id;};

在一个排序的 vector 中。

我想知道算法中是否有一个函数可以对 vector 进行二进制搜索并找到一个元素。

最佳答案

std::binary_search()将告诉您容器中是否存在值。

std::lower_bound()/std::upper_bound()将返回一个指向第一次/最后一次出现的值的迭代器。

您的对象需要实现 operator<让这些算法发挥作用。

关于c++ - std 库中有什么函数可以对 vector 进行二进制搜索并找到元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369211/

相关文章:

c++ - 将多态 C++ 对象转换为非多态 C 对象

c++ - 在无向图上设置值

c++ - 使用类的静态函数模板成员的链接器错误

arrays - 使用 dlmread 读取许多(1000+)文件 - 循环使用不同的文件名?

r - 从数字字符串中检测范围

c++ - 是否定义为 C++ 标准算法提供空范围?

c++ - std::bind 和 winsock.h 绑定(bind)混淆

c++ - 缩放矩阵和平移矩阵相关问题

C++ 模运算符 Vs。移位运算符,哪个更快,为什么?

C++ std::string 到数字模板