Алгоритм – це функція, що здійснює певні дії над елементами контейнера. Як вже згадувалося, алгоритми в STL не є методами класів і навіть не є дружніми функціями по відношенню до контейнерів. В теперішньому стандарті мови – це незалежні шаблонні функції. Їх можна використовувати як при роботі зі звичайними масивами С++, так і з нашими власними класами-контейнерами (припускається, що у склад включені деякі базові функції).
В таблиці 10.5 показані деякі популярні алгоритми.
Таблиця 15.5
Деякі типові алгоритми STL
Алгоритм
Призначення
find
Повертає перший елемент з вказаним значенням
count
Рахує кількість елементів, що мають вказане значення
equal
Порівнює вміст двох контейнерів і повертає true, якщо всі відповідні елементи еквівалентні
search
Шукає послідовність значень в одному контейнері, яка відповідає такій же послідовності в іншому
copy
Копіює послідовність значень з одного контейнера в інший
swap
Обмінює значення, що зберігаються в різних місцях
iter_swap
Обмінює послідовність значень, що зберігаються в різних місцях
sort
Сортує значення у вказаному порядку
merge
Комбінує два сортовані діапазони значень для одержання найбільшого діапазону
accumulate
Повертає суму елементів у заданому діапазоні
for_each
Виконує задану функцію для кожного елемента контейнера