Шаг 262.
Библиотека STL.
Алгоритмы STL. Алгоритмы упорядоченных интервалов

    На этом шаге мы перечислим алгоритмы, предназначенные для работы с упорядоченными интервалами.

    Алгоритмы упорядоченных интервалов требуют, чтобы интервалы, с которыми они работают, были изначально упорядочены по соответствующему критерию. В таблице 1 перечислены все алгоритмы стандартной библиотеки C++, предназначенные для упорядоченных интервалов. Достоинством этих алгоритмов является невысокая сложность.

Таблица 1. Алгоритмы упорядоченных интервалов
Название Описание
binary_search() Проверяет, содержит ли интервал заданный элемент
includes() Проверяет, что каждый элемент интервала также является элементом другого интервала
lower_bound() Находит первый элемент со значением, большим либо равным заданному
upper_bound() Находит первый элемент со значением, большим заданного
equal_range() Возвращает количество элементов в интервале, равных заданному значению
merge() Выполняет слияние элементов двух интервалов
set_union() Вычисляет упорядоченное объединение двух интервалов
set_intersection() Вычисляет упорядоченное пересечение двух интервалов
set_difference() Вычисляет упорядоченный интервал, который содержит все элементы интервала, не входящие в другой интервал
set_symmetric_difference() Вычисляет упорядоченный интервал, содержащий все элементы, входящие только в один из двух интервалов
inplace_merge() Выполняет слияние двух последовательных упорядоченных интервалов

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

    На следующем шаге мы рассмотрим численные алгоритмы.




Предыдущий шаг Содержание Следующий шаг