标签: c++ sorting c++11 stl std
我有一个实现operator<和operator==的对象向量。 C ++提供了std :: sort来有效地对该向量进行排序。
operator<
operator==
std中是否还有一个函数可以反复有效地搜索向量?
我将对该有序向量进行多次搜索,因此std :: find似乎不是一个好选项,因为它只是遍历迭代器直到找到匹配。
答案 0 :(得分:4)
当然,有。
例如,查看lower_bound和upper_bound函数。
binary_search也可能有用。
所有这些函数都对排序的输入起作用,并具有对数的复杂性。
答案 1 :(得分:2)
从std::binary_search
std::binary_search
#include <algorithm>