Section courante

A propos

Section administrative du site

algorithm

Algorithme
Langage C++

Description

Cet entête permet de définir une collection de fonctions spécialement conçues pour être utilisées sur des intervalles d'éléments. Un intervalle est une séquence d'objets à laquelle on peut accéder via des itérateurs ou des pointeurs, comme un tableau ou une instance de certains conteneurs STL. Notez cependant que les algorithmes opèrent via des itérateurs directement sur les valeurs, sans affecter en aucune façon la structure d'un conteneur possible (cela n'affecte jamais la taille ou l'allocation d'entreposage du conteneur).

Liste des gabarits de fonctions

Nom Description
accumulate Ce gabarit de fonctions permet de calculer la somme d'un intervalle avec une opération donnée.
adjacent_difference Ce gabarit de fonctions permet de calculer les différences successives entre les éléments d'un intervalle.
adjacent_find Ce gabarit de fonctions permet de rechercher le premier couple d'éléments adjacents égaux dans un intervalle.
all_of Ce gabarit de fonctions permet de vérifier si tous les éléments d'un intervalle satisfont une condition donnée.
any_of Ce gabarit de fonctions permet de vérifier si au moins un élément d'un intervalle satisfait une condition donnée.
binary_search Ce gabarit de fonctions permet de rechercher une valeur dans un intervalle trié en utilisant la recherche binaire.
clamp Ce gabarit de fonctions permet de limiter une valeur entre deux bornes données.
copy Ce gabarit de fonctions permet de copier un intervalle d'éléments d'une source vers une destination.
copy_backward Ce gabarit de fonctions permet de copier un intervalle d'éléments vers une destination en préservant l'ordre inverse.
copy_if Ce gabarit de fonctions permet de copier uniquement les éléments d'une plage qui satisfont une condition donnée.
copy_n Ce gabarit de fonctions permet de copier un nombre spécifié d'éléments d'une source vers une destination.
count Ce gabarit de fonctions permet de compter le nombre d'occurrences d'une valeur donnée dans un intervalle.
count_if Ce gabarit de fonctions permet de compter le nombre d'éléments d'une plage qui satisfont une condition donnée.
equal Ce gabarit de fonctions permet de tester si deux intervalles contiennent les mêmes éléments dans le même ordre.
equal_range Ce gabarit de fonctions permet de trouver l'intervalle des éléments égaux à une valeur donnée dans un intervalle trié.
exclusive_scan Ce gabarit de fonctions permet d'effectuer un balayage exclusif (accumulation) sur un intervalle.
fill Ce gabarit de fonctions permet de remplir un intervalle avec une valeur donnée.
fill_n Ce gabarit de fonctions permet de remplir un certain nombre d'éléments avec une valeur donnée.
find Ce gabarit de fonctions permet de rechercher un élément donné dans un intervalle et retourne un itérateur sur le premier élément trouvé.
find_end Ce gabarit de fonctions permet de rechercher la dernière occurrence d'une sous-séquence dans un intervalle donnée.
find_first_of Ce gabarit de fonctions permet de rechercher le premier élément d'une plage qui correspond à l'un des éléments d'un autre ensemble.
find_if Ce gabarit de fonctions permet de rechercher le premier élément d'une plage qui satisfait une condition donnée.
find_if_not Ce gabarit de fonctions permet de rechercher le premier élément d'une plage qui ne satisfait pas une condition donnée.
for_each Ce gabarit de fonctions permet d'appliquer une fonction à chaque élément d'un intervalle spécifiée.
generate Ce gabarit de fonctions permet de remplir un intervalle avec des valeurs générées par une fonction donnée.
generate_n Ce gabarit de fonctions permet de générer un certain nombre de valeurs à l'aide d'une fonction et les entrepose dans une destination.
includes Ce gabarit de fonctions permet de tester si tous les éléments d'un ensemble sont contenus dans un autre ensemble.
inclusive_scan Ce gabarit de fonctions permet d'effectuer un balayage inclusif sur un intervalle.
inner_product Ce gabarit de fonctions permet de calculer le produit scalaire de deux intervalles.
inplace_merge Ce gabarit de fonctions permet de fusionner deux sous-intervalles adjacents en conservant l'ordre trié.
iota Ce gabarit de fonctions permet de remplir un intervalle avec une séquence croissante de valeurs.
is_heap Ce gabarit de fonctions permet de tester si un intervalle représente une mémoire de tas.
is_heap_until Ce gabarit de fonctions retourne l'itérateur vers la première position où l'intervalle n'est plus une mémoire de tas.
is_partitioned Ce gabarit de fonctions permet de tester si un intervalle est partitionné selon une condition.
is_permutation Ce gabarit de fonctions permet de vérifier si un intervalle est une permutation d'un autre intervalle.
is_sorted Ce gabarit de fonctions permet de tester si un intervalle est trié.
is_sorted_until Ce gabarit de fonctions permet de retourner l'itérateur vers la première position où l'intervalle n'est plus trié.
iter_swap Ce gabarit de fonctions permet d'échanger les valeurs des éléments pointés par deux itérateurs.
lexicographical_compare Ce gabarit de fonctions permet de comparer deux intervalles selon l'ordre lexicographique.
lower_bound Ce gabarit de fonctions permet de rechercher la première position où une valeur peut être insérée tout en maintenant l'ordre trié.
make_heap Ce gabarit de fonctions permet de transformer un intervalle en une mémoire de tas.
max Ce gabarit de fonctions permet de retourner le plus grand élément entre deux valeurs.
max_element Ce gabarit de fonctions permet de retourner l'élément maximal dans un intervalle.
merge Ce gabarit de fonctions permet de fusionner deux intervalles triés en un seul.
min Ce gabarit de fonctions permet de retourner le plus petit élément entre deux valeurs.
min_element Ce gabarit de fonctions permet de retourner l'élément minimal dans un intervalle.
mismatch Ce gabarit de fonctions permet de trouver la première position où deux intervalles de valeurs diffèrent.
move Ce gabarit de fonctions permet de déplacer un intervalle d'éléments d'une source vers une destination.
move_backward Ce gabarit de fonctions permet de déplacer un intervalle d'éléments vers une destination en préservant l'ordre inverse.
next_permutation Ce gabarit de fonctions permet de générer la permutation suivante d'un intervalle.
none_of Ce gabarit de fonctions permet de vérifier si aucun élément d'un intervalle ne satisfait une condition donnée.
nth_element Ce gabarit de fonctions permet de réorganiser un intervalle de manière à ce qu'un élément spécifique soit à sa position triée.
partial_sort Ce gabarit de fonctions permet de trier partiellement un intervalle en plaçant les plus petits éléments au début.
partial_sort_copy Ce gabarit de fonctions permet de copier et de trier partiellement un intervalle.
partial_sum Ce gabarit de fonctions permet de calculer les sommes partielles des éléments d'un intervalle.
partition Ce gabarit de fonctions permet de réorganiser un intervalle pour que les éléments satisfaisant une condition soient placés avant les autres.
partition_copy Ce gabarit de fonctions permet de copier les éléments d'un intervalle en les séparant selon une condition.
pop_heap Ce gabarit de fonctions permet d'extraire l'élément maximal d'une mémoire de tas.
prev_permutation Ce gabarit de fonctions permet de générer la permutation précédente d'un intervalle.
push_heap Ce gabarit de fonctions permet d'ajouter un élément à une mémoire de tas.
random_shuffle Ce gabarit de fonctions permet de réarranger aléatoirement les éléments d'un intervalle.
reduce Ce gabarit de fonctions permet d'appliquer une opération de réduction sur un intervalle de manière potentiellement parallèle.
remove Ce gabarit de fonctions permet de supprimer toutes les occurrences d'une valeur dans un intervalle (sans modifier la taille réelle).
remove_copy Ce gabarit de fonctions permet de copier un intervalle en omettant toutes les occurrences d'une valeur donnée.
remove_copy_if Ce gabarit de fonctions permet de copier un intervalle en omettant les éléments qui satisfont une condition donnée.
remove_if Ce gabarit de fonctions permet de supprimer les éléments d'un intervalle satisfaisant une condition donnée.
replace Ce gabarit de fonctions permet de remplacer toutes les occurrences d'une valeur dans un intervalle par une autre valeur.
replace_copy Ce gabarit de fonctions permet de copier un intervalle tout en remplaçant les occurrences d'une valeur par une autre.
replace_copy_if Ce gabarit de fonctions permet de copier un intervalle tout en remplaçant les valeurs satisfaisant une condition donnée.
replace_if Ce gabarit de fonctions permet de remplacer les éléments d'un intervalle satisfaisant une condition donnée.
reverse Ce gabarit de fonctions permet d'inverser l'ordre des éléments d'un intervalle.
reverse_copy Ce gabarit de fonctions permet de copier un intervalle tout en inversant l'ordre des éléments.
rotate Ce gabarit de fonctions permet d'effectuer une rotation des éléments d'un intervalle vers la gauche.
rotate_copy Ce gabarit de fonctions permet de copier un intervalle tout en effectuant une rotation vers la gauche.
sample Ce gabarit de fonctions permet de sélectionner aléatoirement des éléments d'un intervalle.
search Ce gabarit de fonctions permet de rechercher une sous-séquence spécifique dans un intervalle donnée.
search_n Ce gabarit de fonctions permet de rechercher une séquence d'un même élément répété un certain nombre de fois dans un intervalle.
set_difference Ce gabarit de fonctions permet de trouver la différence ensembliste de deux intervalles triés.
set_intersection Ce gabarit de fonctions permet de trouver l'intersection de deux intervalles triés.
set_symmetric_difference Ce gabarit de fonctions permet de trouver la différence symétrique de deux intervalles triés.
set_union Ce gabarit de fonctions permet de trouver l'union de deux intervalles triés.
shuffle Ce gabarit de fonctions permet de réarranger aléatoirement les éléments d'un intervalle en utilisant un générateur aléatoire.
sort Ce gabarit de fonctions permet de trier les éléments d'un intervalle en ordre croissant.
sort_heap Ce gabarit de fonctions permet de trier la mémoire de tas.
stable_partition Ce gabarit de fonctions permet d'effectuer une partition stable d'un intervalle selon une condition.
stable_sort Ce gabarit de fonctions permet de trier les éléments d'un intervalle en conservant l'ordre relatif des éléments équivalents.
swap Ce gabarit de fonctions permet d'échanger les valeurs de deux objets donnés.
swap_ranges Ce gabarit de fonctions permet d'échanger les valeurs de deux intervalles d'éléments.
transform Ce gabarit de fonctions permet d'appliquer une transformation à chaque élément d'un intervalle et d'entreposer les résultats dans une destination.
transform_exclusive_scan Ce gabarit de fonctions permet de combiner transform et exclusive_scan.
transform_inclusive_scan Ce gabarit de fonctions permet de combiner transform et inclusive_scan.
transform_reduce Ce gabarit de fonctions permet de combiner transform et reduce pour appliquer une transformation avant la réduction.
unique Ce gabarit de fonctions permet de supprimer les éléments consécutifs dupliqués dans un intervalle.
unique_copy Ce gabarit de fonctions permet de copier un intervalle tout en supprimant les éléments consécutifs dupliqués.
upper_bound Ce gabarit de fonctions permet de rechercher la dernière position où une valeur peut être insérée tout en maintenant l'ordre trié.


Dernière mise à jour : Lundi, le 18 novembre 2024