Приложение к главе 1.1
Некоторые функции библиотеки algorithm
Функция |
Действие |
Не модифицирующие операции |
|
accumulate |
Складывает диапазон элементов |
djacent_difference |
Считает разницу между смежными элементами диапазона |
adjacent_find |
Находит два идентичных (или имеющих другое отношение) элемента, смежных друг с другом |
Count |
Возвращает количество элементов, соответствующее данному значению |
count_if |
Возвращает количество элементов, для которых предикат является истиной |
equal |
Определяет, одинаковы ли два множества элементов |
find |
Находит значение в данном диапазоне |
find_end |
Ищет последнее вхождение подпоследовательности элементов в диапазон |
find_first_of |
Ищет в множестве элементов первое вхождение любого элемента другого множества |
find_if |
Ищет первое вхождение элемента, для которого верен определенный предикат |
for_each |
Применяет функцию к диапазону элементов |
inner_product |
Считает внутренний продукт двух диапазонов элементов |
mismatch |
Находит первую позицию, в которой два диапазона различны |
partial_sum |
Считает частичную сумму диапазона элементов |
search |
Производит поиск в диапазоне элементов |
search_n |
Ищет N последовательных копий элемента в диапазоне |
Модифицирующие операции |
|
copy |
Копирует некоторый диапазон элементов в новое место |
copy_backward |
Копирует диапазон элементов в обратном порядке |
fill |
Присваивает диапазону элементов определенное значение |
fill_n |
Присваивает значение некоторому количеству элементов |
generate |
Сохраняет результат функции в диапазоне |
generate_n |
Сохраняет результат N применений функции |
iter_swap |
Меняет местами элементы, обозначенные двумя итераторами |
partition |
Делит диапазон элементов на две группы |
random_shuffle |
Случайное перемешивание элементов диапазона |
remove |
Удаляет элемент, равный определенному значению |
remove_copy |
Копирует диапазон элементов, за исключением элементов, равных определенному значению |
remove_copy_if |
Создает копию диапазона, за исключением элементов, для которых предикат является истинным |
remove_if |
Удаляет все элементы, для которых предикат является истинным |
replace |
Заменяет каждое вхождение некоторого значения в диапазоне другим значением |
replace_copy |
Копирует диапазон, заменяя определенные значения новыми |
replace_copy_if |
Копирует диапазон значений, заменяя те, для которых предикат является истинным |
replace_if |
Заменяет значения тех элементов, для которых предикат является истинным |
reverse |
Изменяет порядок следования элементов некоторого множества на обратный |
reverse_copy |
Создает копию некоторого диапазона, изменяя порядок следования элементов на обратный |
rotate |
Двигает элементы множества влево на некоторое количество позиций |
rotate_copy |
Копирует и диапазон, сдвигая все его элементы на некоторое количество позиций |
stable_partition |
Делит элементы на две группы, сохраняя их относительный порядок |
swap |
Меняет местами значения двух объектов |
swap_ranges |
Меняет местами два диапазона элементов |
transform |
Применяет функцию преобразования к диапазону элементов |
unique |
Удаляет дубликаты элементов в диапазоне |
unique_copy |
Создает копию диапазона, которая не содержит дубликатов элементов |
Сортировка |
|
nth_element |
Вставляет элемент диапазон, сохраняя упорядоченность, и проверяет, что нет элементов, для которых элемент слева больше, чем элемент справа |
partial_sort |
Сортирует первые N элементов диапазона |
partial_sort_copy |
Копирует и частично сортирует диапазон элементов |
sort |
Сортирует диапазон по возрастанию |
stable_sort |
Сортирует диапазон элементов, сохраняя относительное положение между равными элементами |
Бинарный поиск (операции для отсортированных диапазонов) |
|
binary_search |
Определяет, присутствует ли элемент в некотором диапазоне |
equal_range |
Ищет диапазон элементов, равных определенному элементу |
lower_bound |
Ищет первое место в диапазоне, в которое можно вставить значение, сохраняя упорядоченность |
upper_bound |
Ищет последнее место, куда можно вставить значения, сохраняя упорядоченность (первое место, в котором элемент больше, чем вставляемое значение) |
Слияние (операции для отсортированных диапазонов) |
|
includes |
Возвращает истину, если одно общество является подмножеством другого |
inplace_merge |
Производит слияние двух упорядоченных диапазонов, сохраняя результат в них |
merge |
Производит слияние двух упорядоченных диапазонов |
set_difference |
Считает разницу между двумя множествами |
set_intersection |
Считает пересечение двух множеств |
set_symmetric_difference |
Считает симметричную разность между двумя множествами |
set_union |
Вычисляет объединение двух множеств |
Min/Max |
|
max |
Возвращает больший из двух элементов |
max_element |
Возвращает наибольший элемент в диапазоне |
min |
Возвращает меньший из двух элементов |
min_element |
Возвращает наименьший элемент в диапазоне |
lexicographical_compare |
Возвращает истину, если один диапазон лексикографически меньше, чем другой |
next_permutation |
Получает следующую в лексикографическом порядке перестановку элементов диапазона |
prev_permutation |
Получает следующую в лексикографическом порядке перестановку элементов диапазона |