STL/algorithm

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

'Стандартная библиотека шаблонов: Algorithm'
Заголовочный файл <algorithm> определяет коллекцию функций специально разработанных для использования с диапазонами значений.

[править] Функции в <algorithm>

Не модифицирующие функции:
for_eachВыполяет операцию над каждым элементом последовательности
findНаходит первое вхождение значения в последовательность
find_ifНаходит первое соответствие предикату в последовательности
find_endНаходит последнее вхождение последовательности как подпоследовательности
find_first_ofНаходит значение из одной последовательности в другой
adjacent_findНаходит пару соседних значений
countПодсчитывает количество вхождений данного значения в последовательность
count_ifПодсчитывает количество выполнений данного предиката в последовательности
mismatchНаходит пернвый элемент, в котором две последовательности различаются
equaltrue, если элементы в двух последовательностях попарно равны
searchНаходит первое вхождение последовательности как подпоследовательности
search_nНаходит n-е вхождение значения в последовательность
Модифицирующие функции:
copyКопирует последовательность, начиная с первого элемента
copy_backwardКопирует последовательность, начиная с последнего элемента
swapМеняет местами два элемента
swap_rangesМеняет местами элементы двух последовательностей
iter_swapМеняет местами два элемента, на которые указывают итераторы
transformВыполняет операцию над каждым элементом в последовательности
replaceЗаменяет элементы с указанным значением
replace_ifЗаменяет элементы при выполнении предиката
replace_copyКопирует последовательность, заменяя элементы с указанным значением
replace_copy_ifКопирует последовательность, заменяя элементы при выполнении предиката
fillЗаменяет все элементы данным значением
fill_nЗаменяет первые n элементов указанным значением
generateЗаменяет все элементы результатом операции
generate_nЗаменяет первые n элементов результатом операции
removeУдаляет элементы с данным значением
remove_ifУдаляет элементы при выполнении предиката
remove_copyКопирует последовательность, удаляя элементы с указанным значением
remove_copy_ifКопирует последовательность, удаляя элементы, удовлетворяющие предикату
uniqueУдаляет равные соседние элементы
unique_copyКопирует последовательность, удаляя равные соседние элементы
reverseМеняет порядок следования элементов на обратный
reverse_copyКопирует последовательность в обратном порядке
rotateПеремещает элементы циклически
rotate_copyКопирует элементы циклической последовательности
random_shuffleПеремещает элементы согласно случайному равномерному распределению ("тасует" последовательность)
partitionПеремещает вперёд элементы, удовлетворяющие предикату
stable_partitionПеремещает вперёд элементы, удовлетворяющие предикату, сохраняя их относительный порядок следования
Сортировка:
sortСортирует с хорошей средней эффективностью
stable_sortСортирует, сохраняя порядок следования равных элементов
partial_sortУпорядочивает первую часть последовательности
partial_sort_copyКопирует, упорядочивая первую часть последовательности
nth_elementСтавит на нужное место n-й элемент
Бинарный поиск (выполняется с отсортированными диапазонами):
lower_boundНаходит первое вхождение значения
upper_boundНаходит первый элемент, больший чем значение
equal_rangeНаходит последовательность с данным значением
binary_searchПроверяет есть ли указанное значение в отсортированной последовательности
Объединение (выполняется с отсортированными диапазонами):
mergeОбъединяет две отсортированные последоватильности
inplace_mergeОбъединяет две последовательно отсортированные последоватильности
includestrue, если последовательность является подпоследовательностью другой
set_unionСоздает отсортированное объединение
set_intersectionСоздает отсортированное пересечение
set_differenceСоздает отсортированную последовательность элементов, входящих в первую, но не входящих во вторую последовательность
set_symmetric_differenceСоздает отсортированную последовательность элементов, присутствующих лишь в одной из двух последовательностей
Куча:
make_heapПодготавливает последовательность к использованию в качестве кучи
push_heapДобавляет в кучу элемент
pop_heapУдаляет из кучи элемент
sort_heapСортирует кучу
Min/max:
minМеньшее из двух значений
maxБольшее из двух значений
min_elementНаименьшее значение в последовательности
max_elementНаибольшее значение в последовательности
lexicographical_compareЛексикографически первая из двух последовательностей
Перестановки:
next_permutationСледующая перестановка в лексиграфическом порядке
prev_permutationПредыдущая перестановка в лексиграфическом порядке