Biblioteca de algoritmos
La biblioteca de algoritmos define funciones para una variedad de propósitos (por ejemplo, buscar, clasificar, contar, manipular) que operan en rangos de elementos. Observa que un rango se define como [first, last)
, donde last
se refiere al elemento después del último elemento a inspeccionar o modificar.
Políticas de ejecuciónLa mayoría de los algoritmos tienen sobrecargas que aceptan políticas de ejecución. Los algoritmos de la biblioteca estándar soportan varias políticas de ejecución, y la biblioteca proporciona los tipos y objetos de políticas de ejecución correspondientes. Los usuarios pueden seleccionar una política de ejecución de forma estática invocando un algoritmo paralelo con un objeto de política de ejecución del tipo correspondiente. Las implementaciones de bibliotecas estándar (pero no los usuarios) pueden definir políticas de ejecución adicionales como una extensión. La semántica de los algoritmos paralelos invocados con un objeto de política de ejecución de tipo definido por la implementación está definida por la implementación. Las versiones paralelas de los algoritmos (excepto para std::for_each y std::for_each_n) pueden realizar copias arbitrarias de elementos de rangos, siempre y cuando std::is_trivially_copy_constructible_v<T> y std::is_trivially_destructible_v<T> sean true, donde
|
(desde C++17) |
Operaciones de secuencia no modificantes | |
Definido en el archivo de encabezado
<algorithm> | |
(C++11)(C++11)(C++11) |
comprueba si un predicado es true para todos, alguno o ninguno de de los elementos en un rango (plantilla de función) |
(C++20)(C++20)(C++20) |
Comprueba si un predicado es true para todos, cualquiera o ninguno de los elementos en un rango (niebloid) |
Aplica una función a un rango de elementos (plantilla de función) | |
(C++20) |
Aplica una función a un rango de elementos (niebloid) |
(C++17) |
Aplica un objeto función a los primeros n elementos de una secuencia (plantilla de función) |
(C++20) |
Aplica un objeto función a los primeros n elementos de una secuencia (niebloid) |
devuelve el número de elementos que cumplan criterios específicos Original: returns the number of elements satisfying specific criteria The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Devuelve el número de elementos que satisfacen un criterio específico (plantilla de función) | |
encuentra la primera posición donde dos rangos difieren (plantilla de función) | |
(C++20) |
Encuentra la primera posición donde dos rangos difieren (niebloid) |
(C++11) |
encuentra el primer elemento que satisfaga los criterios específicos Original: finds the first element satisfying specific criteria The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20)(C++20)(C++20) |
Encuentra el primer elemento que satisface un criterio específico (niebloid) |
encuentra la última secuencia de elementos en un cierto rango Original: finds the last sequence of elements in a certain range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Encuentra la última secuencia de elementos en un cierto rango (niebloid) |
busca cualquiera de los elementos de un set (plantilla de función) | |
(C++20) |
Busca cualquiera de un conjunto de elementos (niebloid) |
encuentra dos elementos contiguos idénticos (o que satisfacen un predicado) (plantilla de función) | |
(C++20) |
Encuentra los dos primeros elementos adyacentes que son iguales (o satisfacen un predicado dado) (niebloid) |
busca a un rango de elementos (plantilla de función) | |
Busca un número de copias consecutivas de un elemento en un rango Original: searches for a number consecutive copies of an element in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Operaciones de secuencia modificantes | |
Definido en el archivo de encabezado
<algorithm> | |
(C++11) |
Copia un rango de elementos a una nueva ubicación (plantilla de función) |
(C++11) |
Copia un rango de elementos a una nueva ubicacion (plantilla de función) |
(C++11) |
Copia un número de elementos a una nueva ubicación (plantilla de función) |
(C++11) |
Copia un número de elementos a una nueva ubicación (plantilla de función) |
Copia un rango de elementos en orden inverso (plantilla de función) | |
Copia un rango de elementos en orden inverso (plantilla de función) | |
(C++11) |
Mueve una serie de elementos a una nueva ubicación (plantilla de función) |
(C++20) |
Mueve un rango de elementos a una nueva ubicación (niebloid) |
(C++11) |
mueve una serie de elementos a una nueva ubicación para atrás Original: moves a range of elements to a new location in backwards order The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Mueve un rango de elementos a una nueva ubicación en orden inverso (niebloid) |
Asigna un cierto valor a una serie de elementos (plantilla de función) | |
(C++20) |
Asigna un cierto valor a un rango de elementos (niebloid) |
asigna un valor a una serie de elementos Original: assigns a value to a number of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Asigna un valor a un número de elementos (niebloid) |
Aplica una función a un rango de elementos (plantilla de función) | |
guarda el resultado de una función en un intervalo Original: saves the result of a function in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Guarda el resultado de una función en un rango (niebloid) |
guarda el resultado de las aplicaciones de N de una función Original: saves the result of N applications of a function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Guarda el resultado de N aplicaciones de una función (niebloid) |
elimina elementos que cumplan criterios específicos Original: removes elements satisfying specific criteria The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20)(C++20) |
Elimina elementos que satisfacen un criterio específico (niebloid) |
Copia un rango de elementos omitiendo los que satisfacen un criterio específico (plantilla de función) | |
(C++20)(C++20) |
Copia un rango de elementos, omitiendo aquellos que satisfacen un criterio específico (niebloid) |
sustituye a todos los valores que satisfacen los criterios específicos con otro valor Original: replaces all values satisfying specific criteria with another value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Copia un intervalo, en sustitución de elementos que cumplan criterios específicos con otro valor Original: copies a range, replacing elements satisfying specific criteria with another value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Intercambia los valores de dos objetos (plantilla de función) | |
swaps dos rangos de elementos Original: swaps two ranges of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Intercambia los elementos a los que apuntan dos iteradores (plantilla de función) | |
invierte los elementos de orden en un intervalo Original: reverses the order elements in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Crea una copia de un rango que está invertida (plantilla de función) | |
gira el orden de los elementos en un rango Original: rotates the order of elements in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
copias y girar una serie de elementos Original: copies and rotate a range of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Desplaza elementos en un rango (plantilla de función) |
(C++11) |
azar reordena los elementos de un rango Original: randomly re-orders elements in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++17) |
Selecciona n elementos aleatorios de una secuencia (plantilla de función) |
removes consecutive duplicate elements in a range (plantilla de función) | |
crea una copia de una cierta gama de elementos que no contiene duplicados consecutivos Original: creates a copy of some range of elements that contains no consecutive duplicates The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Operaciones de partición | |
Definido en el archivo de encabezado
<algorithm> | |
(C++11) |
determina si el intervalo está dividido por el predicado dado Original: determines if the range is partitioned by the given predicate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Determina si el rango está dividido por el predicado dado (niebloid) |
divide una serie de elementos en dos grupos Original: divides a range of elements into two groups The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Divide un rango de elementos en dos grupos (niebloid) |
(C++11) |
copies a range dividing the elements into two groups (plantilla de función) |
(C++20) |
Copia un rango, dividiendo los elementos en dos grupos (niebloid) |
elementos divide en dos grupos, preservando su orden relativo Original: divides elements into two groups while preserving their relative order The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++11) |
locates the partition point of a partitioned range (plantilla de función) |
(C++20) |
Localiza el punto de partición de un rango particionado (niebloid) |
Operaciones de ordenamiento | |
Definido en el archivo de encabezado
<algorithm> | |
(C++11) |
Comprueba si un rango se clasifican en orden ascendente Original: checks whether a range is sorted into ascending order The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Comprueba si un rango está ordenado en orden ascendente (niebloid) |
(C++11) |
encuentra el mayor subrango ordenados Original: finds the largest sorted subrange The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Encuentra el subrango ordenado más grande (niebloid) |
Ordena un intervalo en orden ascendente Original: sorts a range into ascending order The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
ordena los primeros n elementos de un rango Original: sorts the first N elements of a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Ordena los primeros N elementos de un rango (niebloid) |
copias y clasifica parcialmente una serie de elementos Original: copies and partially sorts a range of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Copia y ordena parcialmente un rango de elementos (niebloid) |
Ordena un intervalo de elementos, mientras que la preservación del orden entre los elementos iguales Original: sorts a range of elements while preserving order between equal elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
parcialmente ordena el rango dado asegurándose de que está dividida por el elemento dado Original: partially sorts the given range making sure that it is partitioned by the given element The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Ordena parcialmente el rango dado asegurándose de que esté particionado por el elemento dado (niebloid) |
Operaciones de búsqueda binaria (en rangos ordenados) | |
Definido en el archivo de encabezado
<algorithm> | |
devuelve un iterador al primer elemento no es menor que el valor dado Original: returns an iterator to the first element not less than the given value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Devuelve un iterador al primer elemento no menor que el valor dado (niebloid) |
devuelve un iterador al primer elemento' mayor que un cierto valor Original: returns an iterator to the first element greater than a certain value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
determina si existe un elemento en un cierto rango Original: determines if an element exists in a certain range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Determina si un elemento existe en un cierto rango (niebloid) |
Devuelve el rango de los elementos que coinciden con una clave específica Original: returns range of elements matching a specific key The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Devuelve un rango de elementos que coinciden con una clave especifica (niebloid) |
Otras operaciones en rangos ordenados | |
Definido en el archivo de encabezado
<algorithm> | |
fusiona dos rangos ordenados Original: merges two sorted ranges The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Fusiona dos rangos ordenados (niebloid) |
fusiona dos rangos ordenados en el lugar Original: merges two ordered ranges in-place The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Fusiona dos rangos ordenados en el lugar (niebloid) |
Operaciones de conjuntos (en rangos ordenados) | |
Definido en el archivo de encabezado
<algorithm> | |
devuelve verdadero si un grupo es un subconjunto de otro Original: returns true if one set is a subset of another The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Devuelve true si una secuencia es una subsecuencia de otra (niebloid) |
calcula la diferencia entre los dos conjuntos Original: computes the difference between two sets The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
calcula la intersección de dos conjuntos Original: computes the intersection of two sets The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
calcula la diferencia simétrica entre dos conjuntos Original: computes the symmetric difference between two sets The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
computes the union of two sets (plantilla de función) | |
Operaciones de montículo/montón | |
Definido en el archivo de encabezado
<algorithm> | |
checks if the given range is a heap (plantilla de función) | |
(C++20) |
Comprueba si el rango dado es un montículo de máximos (niebloid) |
(C++11) |
encuentra el mayor subrango que es montón Original: finds the largest subrange that is heap The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Encuentra el subrange más grande que es un montículo de máximos (niebloid) |
crea un montón de una serie de elementos Original: creates a heap out of a range of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Crea un montículo de máximos a partir de un rango de elementos (niebloid) |
añade un elemento a un montón Original: adds an element to a heap The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Agrega un elemento a un montículo de máximos (niebloid) |
elimina el elemento más grande de un montón Original: removes the largest element from a heap The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Elimina el elemento más grande de un montículo de máximos (niebloid) |
Resulta un montón en una gama de elementos ordenados Original: turns a heap into a sorted range of elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Operaciones de mínimo/máximo | |
Definido en el archivo de encabezado
<algorithm> | |
Devuelve el mayor de dos elementos (plantilla de función) | |
(C++20) |
Devuelve el mayor de los valores dados (niebloid) |
devuelve el elemento más grande de un rango Original: returns the largest element in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Devuelve el elemento más grande en un rango (niebloid) |
Devuelve el menor de los elementos (plantilla de función) | |
(C++20) |
Devuelve el menor de los valores dados (niebloid) |
devuelve el elemento más pequeño de un rango Original: returns the smallest element in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Devuelve el elemento menor en un rango (niebloid) |
(C++11) |
devuelve el. más grande y el más pequeño de los dos elementos Original: returns the larger and the smaller of two elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Devuelve el menor y mayor de dos elementos (niebloid) |
(C++11) |
devuelve el elemento más pequeño y el más grande en un rango Original: returns the smallest and the largest element in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) |
(C++20) |
Devuelve los elementos menor y mayor en un rango (niebloid) |
(C++17) |
Restringe un valor entre un par de valores limitantes (plantilla de función) |
(C++20) |
Sujeta un valor entre un par de valores límite (niebloid) |
Operaciones de comparación | |
Definido en el archivo de encabezado
<algorithm> | |
determina si dos conjuntos de elementos son los mismos Original: determines if two sets of elements are the same The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
(C++20) |
Determina si dos conjuntos de elementos son iguales (niebloid) |
devuelve true si el rango es menor que otro lexicográfico Original: returns true if one range is lexicographically less than another The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de función) | |
Devuelve true si un rango es lexicográficamente menor que otro (niebloid) | |
Compara dos rangos utilizando la comparación de tres vías (plantilla de función) | |
Operaciones de permutación | |
Definido en el archivo de encabezado
<algorithm> | |
(C++11) |
determines if a sequence is a permutation of another sequence (plantilla de función) |
(C++20) |
Determina si una secuencia es una permutación de otra secuencia (niebloid) |
generates the next greater lexicographic permutation of a range of elements (plantilla de función) | |
generates the next smaller lexicographic permutation of a range of elements (plantilla de función) | |
(C++20) |
Genera la siguiente permutación lexicográfica más pequeña de un rango de elementos (niebloid) |
Operaciones numéricas | |
Definido en el archivo de encabezado
<numeric> | |
(C++11) |
Llena un rango con incrementos sucesivos del mismo valor de partida (plantilla de función) |
Suma un rango de elementos (plantilla de función) | |
Calcula el producto interno de dos rangos de elementos (plantilla de función) | |
Calcula las diferencias entre elementos adyacentes en un rango (plantilla de función) | |
Calcula la suma parcial de un rango de elementos (plantilla de función) | |
(C++17) |
Similar a std::accumulate, excepto que fuera de orden (plantilla de función) |
(C++17) |
Similar a std::partial_sum, excluye el i-ésimo elemento de entrada de la i-ésima suma (plantilla de función) |
(C++17) |
Similar a std::partial_sum, incluye el i-ésimo elemento de entrada de la i-ésima suma (plantilla de función) |
(C++17) |
Aplica un invocable, luego reduce fuera de orden (plantilla de función) |
(C++17) |
Aplica un invocable, luego calcula la suma de prefijo (o suma acumulativa) exclusiva (plantilla de función) |
(C++17) |
Aplica un invocable, luego calcula la suma de prefijo (o suma acumulativa) inclusiva (plantilla de función) |
Operaciones en memoria sin inicializar |
Definido en el archivo de encabezado
<memory> | |
Copia un rango de objetos a una zona de memoria sin inicializar. (plantilla de función) | |
(C++20) |
Copia un rango de objetos a un área de memoria sin inicializar. (niebloid) |
(C++11) |
Copia un número de objetos a un área de memoria sin inicializar. (plantilla de función) |
(C++20) |
Copia un número de objetos a un área de memoria sin inicializar. (niebloid) |
Copia un objeto a una zona de memoria sin inicializar, definido por un rango. (plantilla de función) | |
(C++20) |
Copia un objeto en un área de memoria sin inicializar, definido por un rango. (niebloid) |
Copia un objeto a una zona de memoria sin inicializar, definido por un inicio y una cuenta. (plantilla de función) | |
(C++20) |
Copia un objeto a un área de memoria sin inicializar, definido por un inicio y una cuenta. (niebloid) |
(C++20) |
Mueve un rango de objetos a un área de memoria sin inicializar. (niebloid) |
(C++20) |
Mueve un rango de objetos a un área de memoria sin inicializar. (niebloid) |
(C++20) |
Mueve un número de objetos a un área de memoria sin inicializar. (niebloid) |
(C++20) |
Mueve un número de objetos a un área de memoria sin inicializar. (niebloid) |
Construye objetos mediante la inicialización por defecto en un área de memoria sin inicializar, definido por un rango. (plantilla de función) | |
Construye objetos mediante la
inicialización por defecto en un área de memoria sin inicializar, definido por un rango. | |
Construye objetos mediante la inicialización por defecto en un área de memoria sin inicializar, definido por un inicio y una cuenta. (plantilla de función) | |
Construye objetos mediante la inicialización por defecto en un área de memoria sin inicializar, definido por un inicio y una cuenta. (niebloid) | |
Construye objetos mediante la inicialización de un valor en un área de memoria sin inicializar, definido por un rango. (niebloid) | |
Construye objetos mediante la inicialización de un valor en un área de memoria sin inicializar, definido por un rango. (niebloid) | |
Construye objetos mediante la inicialización de un valor en un área de memoria sin inicializar, definido por un inicio y una cuenta. (niebloid) | |
Construye objetos mediante la inicialización de un valor en un área de memoria sin inicializar, definido por un inicio y una cuenta. (niebloid) | |
(C++17) |
Destruye un rango de objetos. (plantilla de función) |
(C++20) |
Destruye un rango de objetos. (niebloid) |
(C++17) |
Destruye un número de objetos en un rango. (plantilla de función) |
(C++20) |
Destruye un número de objetos en un rango. (niebloid) |
(C++17) |
Destruye un objeto en una dirección dada. (plantilla de función) |
(C++20) |
Destruye un objeto en una dirección dada. (niebloid) |
(C++20) |
Crea un objeto en una dirección dada (plantilla de función) |
(C++20) |
Crea un objeto en una dirección dada (niebloid) |
Biblioteca de C | |
Definido en el archivo de encabezado
<cstdlib> | |
Ordena un intervalo de elementos con tipo no especificado. (función) | |
Busca en un array por un elemento de tipo no especificado. (función) |
[editar] Véase también
Documentación de C de Algoritmos
|