set

В языке C++ контейнер set позволяет работать с различными множествами. Под множеством в данном случае понимают некоторое количество отсортированных элементов. Использование  в файле set требует подключения

В данном контейнере сортировка происходит автоматически, при добавлении элемента. Причем повторяющиеся элементы могут быть, как удалены, в случае работы с множеством, так и записаны, в случае с мультимножеством, позволяющим это. Рассмотрим конкретный пример

После добавлений  мы получим 2 множества S = (1, 2, 3)  и mS = (1, 2, 2, 3). Вместо insert можно использовать функцию emplace, которая перед добавлением проверяет, есть ли уже такой элемент, и если нет, то добавляет его.

Set является контейнером, так что имеет все стандартные для контейнера функции:

- Работа с элементами set:

  • S.swap(S2) - меняет содержимое контейнеров местами,
  • S.insert(a) - вставка элемента a,
  • S.erase(S2) - удаляет последовательность элементов,
  • S.clear() - очистка контейнера set,
  • S.count() - количество элементов в контейнере,
  • S.find(a) - найти элемент a в контейнере,
  • S.lower_bound(a) - первый элемент, не меньший чем a,
  • S.upper_bound(a) - первый элемент, больший чем a,
  • S.equal_range(a) - пара элементов, первый - нижняя граница элементов с, такими же значениями, что и a, второй - верхняя граница элементов с такими же значениями, что и a.

- Работа с памятью:

  • S.size() - размер контейнера,
  • S.max_size() - максимальный размер контейнера.

- Работа с контейнером:

  • S.begin() - указатель на начало контейнера,
  • S.end() - указатель на конец контейнера,
  • S.rbegin() - реверсивный указатель на конец контейнера,
  • S.rend() - реверсивный указатель на начало контейнера.

Не нашли ответ? Не беда, спросите в комментариях.

Ваш e-mail не будет опубликован. Обязательные поля помечены *