Подтвердить что ты не робот

Как найти значение в отсортированном векторе С++?

Я просмотрел find и binary_search, но find не использует тот факт, что вектор отсортирован, а binary_search возвращает только true или false, а не там, где он нашел значение. Есть ли какая-нибудь функция, которая может дать мне лучшее из обоих миров?

4b9b3361

Ответ 1

std:: lower_bound сделает это за вас. Это в разделе эквивалентного поведения в верхней части для binary_search.

Ответ 2

Существует метод std::equal_range, который даст вам пару, содержащую нижнюю и верхнюю границы подмножества, содержащие требуемое значение. Если оба из этих элементов в паре идентичны, то значение, которое вы искали, не существует.