Алгоритмы в библиотеке STL.
Алгоритм – шаблонная функция для манипулирования данными (инициализации, сортировки, поиска и т.п.) которая с элементами некоторого контейнера.
Особенности:
· Для доступа к алгоритмам используется заголовок <algorithm>
· Отделены от контейнеров для упрощения библиотеки.
· Алгоритмы получают доступ к элементам контейнера с использованием итераторов.
Алгоритмы инициализации
• fill, fill_n – заполнение диапазона заданным значением;
• generate, generate_n – заполнение диапазона функцией-генератором;
Алгоритмы копирования и замены
• copy – копирование элементов диапазона;
• copy_backward – копирование элементов диапазона в обратном порядке;
• merge, inplace_merge – объединение двух упорядоченных последовательностей элементов в одну;
• replace, replace_copy, replace_if, replace_copy_if – замена элементов диапазона.
Алгоритмы перестановки
• reverse, reverse_copy – реверсирование диапазона элементов;
• swap, swap_ranges, iter_swap – обмен местами элементов;
• rotate, rotate_copy – циклическая перестановка элементов;
• next_permutation, prev_permutation – формирование перестановок элементов последовательности;
• random_shuffle – перетасовка.
• remove, remove_if, remove_copy, remove_copy_if – удаление элементов диапазона;
• unique, unique_copy – удаление дубликатов из заданного диапазона.
Алгоритмы сортировки
• sort, partial_sort, partial_sort_copy, stable_sort – упорядочивание диапазона;
• partition, stable_partition – упорядочивание диапазона элементов так, чтобы все элементы удовлетворяющие заданному условию, предшествовали всем остальным элементам;
• make_heap, pop_heap, push_heap, sort_heap – работа с «кучей» (представление для priority_queue);
• nth_element – упорядочивание диапазона по n-элементу.
Алгоритмы поиска
• adjacent_find – поиск пары совпадающих элементов;
• find, find_end, find_first_of, find_if – поиск вхождения элемента;
• binary_search – бинарный поиск в упорядоченной последовательности;
• includes – проверка вхождения одной последовательности в другую;
• search, search_n – поиск подпоследовательности;
• lower_bound, upper_bound – определение элемента границы по заданному значению;
• mismatch – поиск первого несовпадения двух последовательностей;
• max_element, min_element – поиск элемента последовательности.
Алгоритмы сравнения
• equal – сравнение последовательностей;
• equal_range – определение диапазона для вставки элементов без нарушения порядка последовательности;
• lexicographical_compare – лексикографическое сравнение двух последовательностей;
• min, max – сравнение двух элементов.
Математические алгоритмы
• count – число элементов последовательности;
• count_if – число элементов по заданному условию;
• transform – преобразование элементов диапазона;
• for_each – применение функции к диапазону элементов.
Дата добавления: 2022-02-05; просмотров: 375;