我有一个节点结构
struct Node{CString text, int id;};
在一个有序的矢量.
我想知道算法中是否有一个函数可以对向量进行二元搜索并找到一个元素.
std::binary_search()
将告诉您容器中是否存在值.
std::lower_bound()/std::upper_bound()
将返回迭代器到值的第一个/最后一个匹配项.
您的对象需要实现operator<
这些算法才能工作.
是的,有一个名为"binary_search"的函数std :: binary_search
你先给它,最后给它一个值或一个谓词.
请看这里的样本
将它与Martin York的运算符== 结合起来你应该没问题(或者你可以写一个谓词仿函数