Алгоритмы в библиотеке 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; просмотров: 287;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.