Russian Qt Forum

Программирование => С/C++ => Тема начата: Igors от Ноябрь 28, 2015, 12:23



Название: lower_bound там и сям
Отправлено: Igors от Ноябрь 28, 2015, 12:23
Добрый день

Первый случай. Есть сортированный массив/вектор, в нем ищутся элементы с помощью std::lower_bound. Тут я могу использовать рез-ты поиска для следующего. Пример
Код:
std::vector <int> vec;
Найти в нем числа 1, 5, 7, 10
Все хорошо, я сначала найду первое и последнее, а потом буду искать в меньшем диапазоне данных

Второй случай. Все то же самое, но если искомый эл-т не обнаружен, его надо вставить. Стало быть, надо юзать std::set или std::map. Но у них я не вижу как подрезать диапазон поиска. Выходит всякий раз при поиске ищется во всем дереве :'( Или все-таки как-то можно?

Спасибо