Блог пользователя nerd

Автор nerd, 12 лет назад, По-русски

Всем привет!

Кто знает, есть ли в си++ такая функция вроде lower_bound, ищущая какой-либо элемент в set'е, который равен или меньше числа x?

Спасибо

  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

С помощью lower_bounda и одного ифа можно ее руками реализовать. Не знаю, есть ли это уже готовое в c++.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Клац

UPD Не так понял вопрос, сорри.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

Нет. Но это выражается, как --s.upper_bound(). Осторожно

  1. Если таких элементов нет, будет плохо. Это надо обработать отдельно.
  2. upper_bound(s.begin(),s.end()) работает за линию. Надо использовать s.upper_bound()
  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. А как надо отработать? То есть, когда я пишу --s.upper_bound(), и не существует такого элемента, то программа выводит какое-то (вроде рандомное) число без никаких RE.
»
12 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Готового нету.

--s.upper_bound(x), если нужен наибольший такой.(на границах только нужно проверить) А если вам нужно КАКОЙ-ТО то просто s.begin()