C++ Algorithmes
De cppreference.com.
< cpp
Les fonctions suivantes sont définies dans <algorithm> et font partie de l'espace de nommage std.
Elles s'appliquent généralement sur des séquences d'éléments. Ces séquences peuvent être définies par des itérateurs sur des conteneurs de la STL.
accumulate | calcule la somme d'une séquence d'éléments |
adjacent_difference | calcule les différences entre les éléments consécutifs d'une séquence |
adjacent_find | trouve deux éléments adjacents identiques (ou autre relation...) |
binary_search | indique si un élément est trouvé dans une séquence donnée |
copy | copie une séquence d'éléments vers un autre endroit |
copy_backward | copie une séquence d'élément dans l'ordre inverse |
count | retourne le nombre d'élément d'une séquence correspondant à une valeur donnée |
count_if | retourne le nombre d'éléments pour lequel un prédicat est vrai |
equal | indique si deux ensembles d'éléments sont identiques |
equal_range | retourne une sous-séquence d'éléments égaux à un élément donnée |
fill | fixe à une valeur donnée les éléments d'une séquence |
fill_n | fixe à une valeur donnée les n premiers éléments d'une séquence |
find | trouve la première occurrence d'une valeur dans une séquence donnée |
find_end | trouve la dernière occurrence d'une valeur dans une séquence donnée |
find_first_of | trouve la première occurence d'un des éléments d'une séquence dans une autre séquence |
find_if | trouve le premier élément pour lequel un prédicat est vrai |
for_each | applique une fonction à chaque élément d'une séquence |
generate | génère une séquence à partir des résultats retourné par une fonction donnée |
generate_n | génère une séquence à partir des résultats retourné par n appels à une fonction donnée |
includes | retourne vrai si un ensemble donné est inclus dans un autre |
inner_product | calcule le produit scalaire de deux séquences |
inplace_merge | fusionne deux séquences ordonnées |
is_heap | returns true if a given range is a heap |
iter_swap | échange deux éléments pointés par des itérateurs |
lexicographical_compare | compare deux éléments selon l'ordre lexicographique |
lower_bound | cherche le premier endroit où une valeur peut être insérée en conservant l'ordre d'une séquence |
make_heap | creates a heap out of a range of elements |
max | retourne le plus grand de deux éléments |
max_element | retourne le plus grand d'une séquence d'éléments |
merge | fusionne deux séquences ordonnées vers une troisième séquence vide |
min | retourne le plus petit de deux éléments |
min_element | retourne le plus petit d'une séquence d'éléments |
mismatch | trouve la première position pour laquelle des éléments sont différents |
next_permutation | generates the next greater lexicographic permutation of a range of elements |
nth_element | put one element in its sorted location and make sure that no elements to its left are greater than any elements to its right |
partial_sort | trie les N premiers éléments d'une séquence |
partial_sort_copy | copie et trie partiellement une séquence d'élément |
partial_sum | compute the partial sum of a range of elements |
partition | divise une séquence en deux groupes |
pop_heap | remove the largest element from a heap |
prev_permutation | generates the next smaller lexicographic permutation of a range of elements |
push_heap | add an element to a heap |
random_shuffle | randomly re-order elements in some range |
remove | remove elements equal to certain value |
remove_copy | copy a range of elements omitting those that match a certian value |
remove_copy_if | create a copy of a range of elements, omitting any for which a predicate is true |
remove_if | remove all elements for which a predicate is true |
replace | replace every occurrence of some value in a range with another value |
replace_copy | copy a range, replacing certain elements with new ones |
replace_copy_if | copy a range of elements, replacing those for which a predicate is true |
replace_if | change the values of elements for which a predicate is true |
reverse | reverse elements in some range |
reverse_copy | create a copy of a range that is reversed |
rotate | move the elements in some range to the left by some amount |
rotate_copy | copy and rotate a range of elements |
search | search for a range of elements |
search_n | search for N consecutive copies of an element in some range |
set_difference | computes the difference between two sets |
set_intersection | computes the intersection of two sets |
set_symmetric_difference | computes the symmetric difference between two sets |
set_union | computes the union of two sets |
sort | sort a range into ascending order |
sort_heap | turns a heap into a sorted range of elements |
stable_partition | divide elements into two groups while preserving their relative order |
stable_sort | sort a range of elements while preserving order between equal elements |
swap | swap the values of two objects |
swap_ranges | swaps two ranges of elements |
transform | applies a function to a range of elements |
unique | remove consecutive duplicate elements in a range |
unique_copy | creates a copy of some range of elements that contains no consecutive duplicates |
upper_bound | searches for the last place that a value can be inserted while preserving order (first place that is greater than the value) |