Класифікація алгоритмів:
Cуфікс _if - використовується при наявності двох схожих форм алгоритму з однаковою кількітю параметрів. Версія без суфіксу використовується при передачі значення, аверсія з суфіксом _if при передачі функції, або об'єкту функції. Якщо ж версія алгоритму відрізняється додатковим параметром - вона зберігає за собою попереднє ім'я, тобто вживається без суфіксу.
Cуфікс _сopy означає, що алгоритм не тільки обробляє елементи, а й копіює їх в інтервал, який приймає. Наприклав reverse() переставляє елементи в зворотньому порядку, а reverse_sopy() копіює елементи в інтервал в зворотньому напрямку.
Алгоритми поділяються на групи:
- не модифікуючі: for_each, count, max/min_element, search, find
- модифікуючі: for_each, copy, merge, fill, replace
- алгоритми видалення: remove, remove_if, remove_copy_if, unique
- алгоритми перестановки: reverse, rotate, random_shuffle, partition, stable_partition
- алгоритми сортування: sort, stable_sort, partial_sort, partition, stable_partition, make_heap, push/pop_heap, sort_heap
- алгоритми впорядкованих інтервалів: binary_search, lower/upper_bound, equal_range, merge, set_difference
- числові алгоритми: accumulate, inner_product, adjacent_difference, partial_sum
Детальний опис алгоритмів можна знайти в книзі Nicolai M.Josuttis The C++ Standard, Chapter 9 Algorithms STL.
Немає коментарів:
Дописати коментар