У меня есть длинный вектор строк. Пример:
std::string data;
data.push_back("abc");
data.push_back("bcd");
//...
data.push_back("zze");
data.push_back("zzz");
Строки в векторе отсортированы по алфавиту.
Я понимаю, что могу использовать std::find
, чтобы найти наличие и позицию строки в std::vector
. Но поскольку мой вектор отсортирован по алфавиту, есть ли простой в реализации и более эффективный метод проверки существования значения в векторе?
std::binary_search
(но он возвращает логическое значение, а не итератор для найденного элемента). - person orhtej2   schedule 21.01.2018std::binary_search
,std::lower_bound
, может помочь найти итератор для элемента, который вы ищете - person StoryTeller - Unslander Monica   schedule 21.01.2018