Алгоритм (C++)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

В Стандартній бібліотеці C++, алгоритми це компоненти, що виконують алгоритмічні операції над контейнерами і іншими послідовностями.[1]

Стандарт C++ містить деякі стандартні алгоритми зібрані в файлі заголовку <algorithm>.[2] Корисні алгоритми також зібрані в заголовковому файлі <numeric>. Всі алгоритми знаходяться в просторі імен std.

Категорії алгоритмів[ред. | ред. код]

Алгоритми стандартної бібліотеки C++ організовані в рамках наступних категорій.

  • Операції, що не змінюють послідовності (наприклад, find_if, count, search)
  • Операції що змінюють послідовність (наприклад, replace, remove, reverse)
  • Сортування (наприклад, sort, stable_sort, partial_sort)
  • Бінарний пошук (наприклад, lower_bound, upper_bound)
  • Купа (наприклад, make_heap, push_heap)
  • Мінімум/максимум (наприклад, min, max)

Приклади[ред. | ред. код]

  • OutputIterator copy(InputIterator source_begin, InputIterator source_end, OutputIterator destination_begin)
  • void fill(ForwardIterator destination_begin, ForwardIterator destination_end, T value)
  • InputIterator find(InputIterator begin, InputIterator end, T search_object) (повертає ітератор знайденого об'єкту або end, якщо об'єкт не знайдено)
  • const T& max(const T& a, const T& b) повертає більший з двох аргументів
  • ForwardIterator max_element(ForwardIterator begin, ForwardIterator end) знаходить максимальний елемент в наборі
  • const T& min(const T& a, const T& b) повертає менший з двох аргументів
  • ForwardIterator min_element(ForwardIterator begin, ForwardIterator end) знаходить мінімальний елемент в наборі

Примітки[ред. | ред. код]

  1. ISO/IEC (2003). ISO/IEC 14882:2003(E): Programming Languages - C++ §25 Algorithms library [lib.algorithms] para. 1
  2. Stroustrup, Bjarne (2009). Programming : principles and practice using C++. Upper Saddle River, NJ: Addison-Wesley. с. 729. ISBN 9780321543721. Архів оригіналу за 19 березня 2016. Процитовано 22 березня 2012. The standard library algorithms are found in <algorithm>.

Посилання[ред. | ред. код]