Чтобы использовать алгоритмы стандартной библиотеки C++ для работы с пользовательскими структурами данных, нужно убедиться, что они удовлетворяют требованиям определённого алгоритма. learn.microsoft.com
Некоторые виды алгоритмов стандартной библиотеки C++ и их назначение:
- Немодифицирующие операции. practicum.yandex.ru Не меняют порядок элементов в контейнере, а только обрабатывают их значения. practicum.yandex.ru Например, find, count, equalrange и adjacentfind. practicum.yandex.ru
- Модифицирующие операции. practicum.yandex.ru Меняют порядок или значения элементов контейнера. practicum.yandex.ru Например, sort, reverse, rotate, unique. practicum.yandex.ru
- Алгоритмы для работы с итераторами. practicum.yandex.ru Взаимодействуют только с ними, но не с контейнерами. practicum.yandex.ru Например, copy, swap, fill, generate. practicum.yandex.ru
- Алгоритмы поиска и сортировки. practicum.yandex.ru Нужны, чтобы находить или сортировать элементы по определённому условию. practicum.yandex.ru Например, binarysearch, lowerbound, upper_bound, merge. practicum.yandex.ru
- Генераторы. practicum.yandex.ru Создают новые элементы или последовательности. practicum.yandex.ru Например, transform, accumulate, inner_product. practicum.yandex.ru
Например, пользователь может определить специализированный контейнерный класс и использовать для него библиотечную функцию сортировки. www.rsdn.org Для сортировки можно выбрать другую функцию сравнения через указатель на сравнивающую функцию или через функциональный объект. www.rsdn.org
Полный список доступных алгоритмов можно найти в документации. cpp-python-nsu.inp.nsk.su