Я пытаюсь выяснить следующую проблему.
Предположим, что у меня есть следующий контейнер в С++:
std::set<std::pair<int, int> > my_container;
Этот набор (словарь) сортируется относительно порядка <
на std::pair<int, int>
, который является лексикографическим порядком. Моя задача - найти любой элемент в my_container
, который имеет первую координату, равную, скажем, x
, и вернуть к ней итератор. Очевидно, я не хочу использовать find_if
, потому что мне нужно решить это в логарифмическом времени.
Я был бы признателен за любые советы о том, как это можно сделать