Перевод этой страницы?:

Алгоритмы C++

Следующие функции определены в <algorithm> или <numeric>, и являются составляющими пространства имен std.

accumulateскладывает диапазон элементов
adjacent_differenceсчитает разницу между смежными элементами диапазона
adjacent_findнаходит два идентичных (или имеющих другое отношение) элемента, смежных друг с другом
binary_searchопределяет, присутствует ли элемент в некотором диапазоне
copyкопирует некоторый диапазон элементов в новое место
copy_backwardкопирует диапазон элементов в обратном порядке
countвозвращает количество элементов, соответствующее данному значению
count_ifвозвращает количество элементов, для которых предикат является истиной
equalопределяет, одинаковы ли два множества элементов
equal_rangeищет диапазон элементов, равных определенному элементу
fillприсваивает диапазону элементов определенное значение
fill_nприсваивает значение некоторому количеству элементов
findнаходит значение в данном диапазоне
find_endнаходит последнюю последовательность элеметов в определенном диапазоне
find_first_ofищет первое вхождение элемента во множестве элементов
find_ifищет первое вхождение элемента, для которого верен определенный предикат
for_eachприменяет функцию к диапазону элементов
generateсохраняет результат функции в диапазоне
generate_nсохраняет результат N применений функции
includesвозвращает истину, если одно общество является подмножеством другого
inner_productсчитает внутренний продукт двух диапазонов элементов
inplace_mergeпроизводит слияние двух упарядоченных диапазонов, сохраняя результат в них
is_heapвозвращает истину, если данный диапазон является кучей
iter_swapменяет местами элементы, обозначенные двумя итераторами
lexicographical_compareвозвращает истину, если один диапазон лексикографически меньше, чем другой
lower_boundищет первое место в диапазоне, в которое можно вставить значение, сохраняя упорядоченность
make_heapсоздает кучу из диапазона элементов
maxвозвращает больший из двух элементов
max_elementвозвращает наибольший элемент в диапазоне
mergeпроизводит слияние двух упорядоченных диапазонов
minвозвращает меньший из двух элементов
min_elementвозвращает наименьший элемент в диапазоне
mismatchнаходит первую позицию, в которой два диапазона различны
next_permutationполучает следующую в лексикографическом порядке перестановку элементов диапазона
nth_elementвставляет элемент диапазон, сохраняя упорядоченность, и проверяет, что нет элементов, для которых элемент слева больше чем лемент справа
partial_sortсортирует первые N элементов диапазона
partial_sort_copyкопирует и частично сортирует диапазон элементов
partial_sumсчитает частичную сумму диапазона элементов
partitionделит диапазон элементов на две группы
pop_heapудаляет наибольший элемент из кучи
prev_permutationполучает следующую в лексикографическом порядке перестановку элементов диапазона
push_heapдобавляет элемент в кучу
random_shuffleслучайное перемешивание элементов диапазона
removeудаляет элемент, равный определенному значению
remove_copyкопирует диапазон элементов, за исключением элементов, равных определенному значению
remove_copy_ifсоздает копию диапазона, за исключением элементов, для которых предикат является истинным
remove_ifудаляет все элементы, для которых предикат является истинным
replaceзаменяет каждое вхождение некоторого значения в диапазоне другим значением
replace_copyкопирует диапазон, заменяя определенные значения новыми
replace_copy_ifкопирует диапазон значений, заменяя те, для которых предикат является истинным
replace_ifзаменяет значения тех элементов, для которых предикат является истинным
reverseизменяет порядок следования элементов некоторого множества на обратный
reverse_copyсоздает копию некоторого диапазона, изменяя порядок следования элементов на обратный
rotateдвигает элементы множества влево на некоторое количество позиций
rotate_copyкопирует и диапазон, сдвигая все его элементы на некоторое количество позиций
searchпроизводит поиск в диапазоне элементов
search_nищет N последовательных копий элемента в диапазоне
set_differenceсчитает разницу между двумя множествами
set_intersectionсчитает пересечение двух множеств
set_symmetric_differenceсчитает симметричную разность между двумя множествами
set_unionвычисляет объединение двух множеств
sortсортирует диапазон по возрастанию
sort_heapпревращает кучу в упорядоченный диапазон
stable_partitionделит элементы на две группы, сохраняя их относительный порядок
stable_sortсортирует диапазон элементов, сохраняя относительное положение между равными элементами
swapменяет местами значения двух объектов
swap_rangesменяет местами два диапазона элементов
transformприменяет функцию к диапазону элементов
uniqueудаляет дупликаты элементов в диапазоне
unique_copyсоздает копию диапазона, которая не содержит дупликатов элементов
upper_boundищет последнее место, куда можно вставить значения, сохраняя упорядоченность (первое место, в котором элемент больше чем вставляемое значение)