[ Web Proxy ]
URL:
Viewing: http://es.cppreference.com/cpp/algorithm [Back]  [Original]

Biblioteca de algoritmos - cppreference.com
cppreference.com
Espacios de nombres
Variantes

Biblioteca de algoritmos

De cppreference.com
< cpp
 
 
Biblioteca de algoritmos
Polticas de ejecucin (C++17)
Operaciones de secuencia no modificantes
(C++11)(C++11)(C++11)
(C++17)
Operaciones de secuencia modificantes
Operaciones en almacenamiento no inicializado
Operaciones de particin
Operaciones de ordenacin
(C++11)
Operaciones de bsqueda binaria
Operaciones de conjuntos (en rangos ordenados)
Operaciones de pila
(C++11)
Operaciones mnimo/mximo
(C++11)
(C++17)
Permutaciones
Operaciones numricas
Bibliotecas C
 
Algoritmos restringidos
Operaciones de secuencia no modificantes
Operaciones de secuencia modificantes
Operaciones en almacenamiento sin inicializar
Operaciones de particin
Operaciones de ordenamiento
Operaciones de bsqueda binaria
Operaciones de conjuntos (en rangos ordenados)
Operaciones de montculo/montn
Operaciones de mnimo/mximo
Permutaciones
 

La biblioteca de algoritmos define funciones para una variedad de propsitos (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 despus del ltimo elemento a inspeccionar o modificar.

Algoritmos restringidos

C++20 proporciona versiones restringidas de la mayora de los algoritmos en el espacio de nombres std::ranges. En estos algoritmos, un rango se puede especificar como un par iterador-centinela o como un solo argumento range, y se admiten proyecciones e invocables de puntero a miembro. Adems, los tipos de retorno de la mayora de los algoritmos se han cambiado para devolver toda la informacin potencialmente til calculada durante la ejecucin del algoritmo.

std::vector<int> v = {7, 1, 4, 0, -1};
std::ranges::sort(v); // algoritmo restringido
(desde C++20)


Polticas de ejecucin

La mayora de los algoritmos tienen sobrecargas que aceptan polticas de ejecucin. Los algoritmos de la biblioteca estndar soportan varias polticas de ejecucin, y la biblioteca proporciona los tipos y objetos de polticas de ejecucin correspondientes. Los usuarios pueden seleccionar una poltica de ejecucin de forma esttica invocando un algoritmo paralelo con un objeto de poltica de ejecucin del tipo correspondiente.

Las implementaciones de bibliotecas estndar (pero no los usuarios) pueden definir polticas de ejecucin adicionales como una extensin. La semntica de los algoritmos paralelos invocados con un objeto de poltica de ejecucin de tipo definido por la implementacin est definida por la implementacin.

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 T es el tipo de los elementos.

Definido en el encabezado <execution>
Definido en el espacio de nombres std::execution
Tipos de polticas de ejecucin.
(clase) [editar]
(C++17)(C++17)(C++17)(C++20)
Objetos de polticas de ejecucin globales.
(constante) [editar]
Definido en el espacio de nombres std
Comprueba si una clase representa una poltica de ejecucin.
(plantilla de clase) [editar]
(desde C++17)
Operaciones de secuencia no modificantes
Definido en el encabezado <algorithm>
(C++11)(C++11)(C++11)
Comprueba si un predicado es true para todos, alguno o ninguno de los elementos de un rango.
(plantilla de funcin) [editar]
Comprueba si un predicado es true para todos, alguno o ninguno de los elementos de un rango.
(niebloid) [editar]
Aplica una funcin a un rango de elementos.
(plantilla de funcin) [editar]
Aplica una funcin a un rango de elementos.
(niebloid) [editar]
Aplica un objeto funcin a los primeros n elementos de una secuencia.
(plantilla de funcin) [editar]
Aplica un objeto funcin a los primeros n elementos de una secuencia.
(niebloid) [editar]
Devuelve el nmero de elementos que cumplan con un criterio especfico.
(plantilla de funcin) [editar]
Devuelve el nmero de elementos que cumplan con un criterio especfico.
(niebloid) [editar]
Encuentra la primera posicin donde dos rangos difieren.
(plantilla de funcin) [editar]
Encuentra la primera posicin donde dos rangos difieren.
(niebloid) [editar]
Encuentra el primer elemento que satisfaga un criterio especfico.
(plantilla de funcin) [editar]
Encuentra el primer elemento que satisfaga un criterio especfico.
(niebloid) [editar]
Encuentra el ltimo elemento que satisfaga un criterio especfico.
(niebloid) [editar]
Encuentra la ltima secuencia de elementos en un cierto rango.
(plantilla de funcin) [editar]
Encuentra la ltima secuencia de elementos en un cierto rango.
(niebloid) [editar]
Busca por cualquiera de un conjunto de elementos.
(plantilla de funcin) [editar]
Busca por cualquiera de un conjunto de elementos.
(niebloid) [editar]
Encuentra dos elementos contiguos idnticos (o que satisfagan un predicado dado).
(plantilla de funcin) [editar]
Encuentra dos primeros elementos contiguos idnticos (o que satisfagan un predicado dado).
(niebloid) [editar]
Busca una subsecuencia de elementos.
(plantilla de funcin) [editar]
Busca una subsecuencia de elementos en un rango.
(niebloid) [editar]
Busca un nmero de copias consecutivas de un elemento en un rango.
(plantilla de funcin) [editar]
Busca un nmero de copias consecutivas de un elemento en un rango.
(niebloid) [editar]
Verifica si un rango comienza con otro rango.
(niebloid) [editar]
Verifica si un rango termina con otro rango.
(niebloid) [editar]
Operaciones de secuencia modificantes
Definido en el encabezado <algorithm>
Copia un rango de elementos a una nueva ubicacin.
(plantilla de funcin) [editar]
Copia un rango de elementos a una nueva ubicacin.
(niebloid) [editar]
(C++11)
Copia un nmero de elementos a una nueva ubicacin.
(plantilla de funcin) [editar]
Copia un nmero de elementos a una nueva ubicacin.
(niebloid) [editar]
Copia un rango de elementos en orden inverso.
(plantilla de funcin) [editar]
Copia un rango de elementos en orden inverso.
(niebloid) [editar]
(C++11)
Mueve una serie de elementos a una nueva ubicacin.
(plantilla de funcin) [editar]
Mueve un rango de elementos a una nueva ubicacin.
(niebloid) [editar]
Mueve una serie de elementos a una nueva ubicacin en orden inverso.
(plantilla de funcin) [editar]
Mueve un rango de elementos a una nueva ubicacin en orden inverso.
(niebloid) [editar]
Asigna por copia el valor dado a todos los elementos de un rango.
(plantilla de funcin) [editar]
Asigna un cierto valor a un rango de elementos.
(niebloid) [editar]
Asigna por copia el valor dado a todos los elementos de un rango.
(plantilla de funcin) [editar]
Asigna un valor a un nmero de elementos.
(niebloid) [editar]
Aplica una funcin a un rango de elementos
(plantilla de funcin) [editar]
Aplica una funcin a un rango de elementos.
(niebloid) [editar]
Asigna el resultado de las llamadas sucesivas de una funcin a todos los elementos de un rango.
(plantilla de funcin) [editar]
Guarda el resultado de una funcin en un rango.
(niebloid) [editar]
Asigna el resultado de las llamadas sucesivas de una funcin a n elementos de un rango.
(plantilla de funcin) [editar]
Guarda el resultado de N aplicaciones de una funcin.
(niebloid) [editar]
Elimina elementos que satisfacen un criterio especfico.
(plantilla de funcin) [editar]
Elimina elementos que satisfacen un criterio especfico.
(niebloid) [editar]
Copia un rango de elementos omitiendo los que satisfacen un criterio especfico
(plantilla de funcin) [editar]
Copia un rango de elementos, omitiendo aquellos que satisfacen un criterio especfico
(niebloid) [editar]
Reemplaza todos los valores que satisfacen criterios especficos con otro valor.
(plantilla de funcin) [editar]
Reemplaza todos los valores que satisfacen un criterio especfico con otro valor.
(niebloid) [editar]
Copia un intervalo, en sustitucin de elementos que cumplan criterios especficos 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 funcin) [editar]
Copia un rango, reemplazando los elementos que satisfacen un criterio especfico con otro valor.
(niebloid) [editar]
Intercambia los valores de dos objetos
(plantilla de funcin) [editar]
Intercambia dos rangos de elementos.
(plantilla de funcin) [editar]
Intercambia dos rangos de elementos.
(niebloid) [editar]
Intercambia los elementos a los que apuntan dos iteradores
(plantilla de funcin) [editar]
Invierte el orden de los elementos en un rango.
(plantilla de funcin) [editar]
Invierte el orden de los elementos en un rango.
(niebloid) [editar]
Crea una copia de un rango que est invertida
(plantilla de funcin) [editar]
Crea una copia de un rango que est invertido.
(niebloid) [editar]
Rota el orden de los elementos en un rango.
(plantilla de funcin) [editar]
Rota el orden de los elementos en un rango.
(niebloid) [editar]
Copia y rota un rango de elementos.
(plantilla de funcin) [editar]
Copia y rota un rango de elementos.
(niebloid) [editar]
Desplaza elementos en un rango
(plantilla de funcin) [editar]
(hasta C++17)(C++11)
Reordena aleatoriamente elementos en un rango.
(plantilla de funcin) [editar]
Reordena aleatoriamente los elementos en un rango.
(niebloid) [editar]
(C++17)
Selecciona N elementos aleatorios de una secuencia.
(plantilla de funcin) [editar]
Selecciona n elementos al azar de una secuencia.
(niebloid) [editar]
Elimina elementos duplicados consecutivos en un rango.
(plantilla de funcin) [editar]
Elimina elementos duplicados consecutivos en un rango.
(niebloid) [editar]
Crea una copia de un rango de elementos que no contiene duplicados consecutivos.
(plantilla de funcin) [editar]
Crea una copia de algn rango de elementos que no contiene duplicados consecutivos.
(niebloid) [editar]
Operaciones de particin
Definido en el encabezado <algorithm>
Determina si el rango est particionado por el predicado dado.
(plantilla de funcin) [editar]
Determina si el rango est dividido por el predicado dado.
(niebloid) [editar]
Divide un rango de elementos en dos grupos.
(plantilla de funcin) [editar]
Divide un rango de elementos en dos grupos
(niebloid) [editar]
Copia un rango dividiendo los elementos en dos grupos.
(plantilla de funcin) [editar]
Copia un rango, dividiendo los elementos en dos grupos
(niebloid) [editar]
Divide elementos en dos grupos, conservando su orden relativo.
(plantilla de funcin) [editar]
Divide elementos en dos grupos, conservando su orden relativo.
(niebloid) [editar]
Ubica el punto de particin de un rango particionado.
(plantilla de funcin) [editar]
Localiza el punto de particin de un rango particionado
(niebloid) [editar]
Operaciones de ordenamiento
Definido en el 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 funcin) [editar]
Comprueba si un rango est ordenado en orden ascendente.
(niebloid) [editar]
Encuentra el subrango ordenado ms grande.
(plantilla de funcin) [editar]
Encuentra el mayor subrango ordenado.
(niebloid) [editar]
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 funcin) [editar]
Ordena un rango en orden ascendente.
(niebloid) [editar]
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 funcin) [editar]
Ordena los primeros N elementos de un rango
(niebloid) [editar]
Copia y ordena parcialmente un rango de elementos.
(plantilla de funcin) [editar]
Copia y ordena parcialmente un rango de elementos
(niebloid) [editar]
Ordena un intervalo de elementos, mientras que la preservacin 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 funcin) [editar]
Ordena un rango de elementos conservando el orden entre elementos que son iguales.
(niebloid) [editar]
Ordena parcialmente el rango dado asegurndose de que est particionado por el elemento dado.
(plantilla de funcin) [editar]
Ordena parcialmente el rango dado asegurndose de que est particionado por el elemento dado
(niebloid) [editar]
Operaciones de bsqueda binaria (en rangos ordenados)
Definido en el encabezado <algorithm>
Devuelve un iterador al primer elemento no menor que el valor dado.
(plantilla de funcin) [editar]
Devuelve un iterador al primer elemento no menor que el valor dado.
(niebloid) [editar]
Devuelve un iterador al primer elemento mayor que un valor determinado.
(plantilla de funcin) [editar]
Devuelve un iterador al primer elemento mayor que un cierto valor.
(niebloid) [editar]
Determina si un elemento existe en un rango parcialmente ordenado.
(plantilla de funcin) [editar]
Determina si un elemento existe en un cierto rango.
(niebloid) [editar]
Devuelve el rango de los elementos que coinciden con una clave especfica.
(plantilla de funcin) [editar]
Devuelve un rango de elementos que coinciden con una clave especifica.
(niebloid) [editar]
Otras operaciones en rangos ordenados
Definido en el encabezado <algorithm>
Fusiona dos rangos ordenados.
(plantilla de funcin) [editar]
Fusiona dos rangos ordenados
(niebloid) [editar]
Fusiona dos rangos ordenados in situ.
(plantilla de funcin) [editar]
Fusiona dos rangos ordenados in situ.
(niebloid) [editar]
Operaciones de conjuntos (en rangos ordenados)
Definido en el encabezado <algorithm>
Devuelve true si una secuencia es una subsecuencia de otra.
(plantilla de funcin) [editar]
Devuelve true si una secuencia es una subsecuencia de otra.
(niebloid) [editar]
Calcula la diferencia entre dos conjuntos.
(plantilla de funcin) [editar]
Calcula la diferencia entre dos conjuntos.
(niebloid) [editar]
Calcula la interseccin de dos conjuntos.
(plantilla de funcin) [editar]
Calcula la interseccin de dos conjuntos.
(niebloid) [editar]
Calcula la diferencia simtrica entre dos conjuntos.
(plantilla de funcin) [editar]
Calcula la diferencia simtrica entre dos conjuntos.
(niebloid) [editar]
Calcula la unin de dos conjuntos.
(plantilla de funcin) [editar]
Calcula la unin de dos conjuntos.
(niebloid) [editar]
Operaciones de montculo/montn
Definido en el encabezado <algorithm>
(C++11)
Verifica si el rango dado es un montculo de mximos.
(plantilla de funcin) [editar]
Comprueba si el rango dado es un montculo de mximos.
(niebloid) [editar]
Encuentra el subrango ms grande que es un montculo de mximos.
(plantilla de funcin) [editar]
Encuentra el mayor subrango que es un montculo de mximos.
(niebloid) [editar]
Crea un montculo de mximos a partir de un rango de elementos.
(plantilla de funcin) [editar]
Crea un montculo de mximos a partir de un rango de elementos.
(niebloid) [editar]
Agrega un elemento a un montculo de mximos.
(plantilla de funcin) [editar]
Agrega un elemento a un montculo de mximos
(niebloid) [editar]
Elimina el elemento ms grande de un montculo de mximos.
(plantilla de funcin) [editar]
Elimina el elemento ms grande de un montculo de mximos
(niebloid) [editar]
Resulta un montn 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 funcin) [editar]
Convierte un montculo de mximos en un rango de elementos ordenado de manera ascendente.
(niebloid) [editar]
Operaciones de mnimo/mximo
Definido en el encabezado <algorithm>
Devuelve el mayor de dos elementos
(plantilla de funcin) [editar]
Devuelve el mayor de los valores dados
(niebloid) [editar]
Devuelve el elemento ms grande en un rango.
(plantilla de funcin) [editar]
Devuelve el elemento ms grande en un rango
(niebloid) [editar]
Devuelve el menor de los elementos
(plantilla de funcin) [editar]
Devuelve el menor de los valores dados
(niebloid) [editar]
Devuelve el elemento ms pequeo de un rango.
(plantilla de funcin) [editar]
Devuelve el elemento menor en un rango
(niebloid) [editar]
(C++11)
Devuelve el menor y el mayor de dos elementos.
(plantilla de funcin) [editar]
Devuelve el menor y mayor de dos elementos
(niebloid) [editar]
Devuelve el elemento ms pequeo y el ms grande de un rango.
(plantilla de funcin) [editar]
Devuelve los elementos menor y mayor en un rango
(niebloid) [editar]
(C++17)
Restringe un valor entre un par de valores limitantes
(plantilla de funcin) [editar]
Sujeta un valor entre un par de valores lmite.
(niebloid) [editar]
Operaciones de comparacin
Definido en el encabezado <algorithm>
Determina si dos conjuntos de elementos son iguales.
(plantilla de funcin) [editar]
Determina si dos conjuntos de elementos son iguales.
(niebloid) [editar]
Devuelve true si un rango es lexicogrficamente menor que otro.
(plantilla de funcin) [editar]
Devuelve true si un rango es lexicogrficamente menor que otro.
(niebloid) [editar]
Compara dos rangos utilizando la comparacin de tres vas
(plantilla de funcin) [editar]
Operaciones de permutacin
Definido en el encabezado <algorithm>
Determina si una secuencia es una permutacin de otra secuencia.
(plantilla de funcin) [editar]
Determina si una secuencia es una permutacin de otra secuencia.
(niebloid) [editar]
Genera la siguiente permutacin lexicogrfica mayor de un rango de elementos.
(plantilla de funcin) [editar]
Genera la siguiente permutacin lexicogrfica mayor de un rango de elementos.
(niebloid) [editar]
genera la siguiente permutacin lexicogrfica menor de un rango de elementos.
(plantilla de funcin) [editar]
Genera la siguiente permutacin lexicogrfica ms pequea de un rango de elementos
(niebloid) [editar]
Operaciones numricas
Definido en el encabezado <numeric>
(C++11)
Llena un rango con incrementos sucesivos del mismo valor de partida
(plantilla de funcin) [editar]
Suma un rango de elementos
(plantilla de funcin) [editar]
Calcula el producto interno de dos rangos de elementos
(plantilla de funcin) [editar]
Calcula las diferencias entre elementos adyacentes en un rango
(plantilla de funcin) [editar]
Calcula la suma parcial de un rango de elementos
(plantilla de funcin) [editar]
(C++17)
Similar a std::accumulate, excepto que fuera de orden
(plantilla de funcin) [editar]
Similar a std::partial_sum, excluye el i-simo elemento de entrada de la i-sima suma
(plantilla de funcin) [editar]
Similar a std::partial_sum, incluye el i-simo elemento de entrada de la i-sima suma
(plantilla de funcin) [editar]
Aplica un invocable, luego reduce fuera de orden
(plantilla de funcin) [editar]
Aplica un invocable, luego calcula la suma de prefijo (o suma acumulativa) exclusiva
(plantilla de funcin) [editar]
Aplica un invocable, luego calcula la suma de prefijo (o suma acumulativa) inclusiva
(plantilla de funcin) [editar]
Operaciones en memoria sin inicializar
Definido en el encabezado <memory>
Copia un rango de objetos a una zona de memoria sin inicializar.
(plantilla de funcin) [editar]
Copia un rango de objetos a un rea de memoria sin inicializar.
(niebloid) [editar]
Copia un nmero de objetos a un rea de memoria sin inicializar.
(plantilla de funcin) [editar]
Copia un nmero de objetos a un rea de memoria sin inicializar.
(niebloid) [editar]
Copia un objeto a una zona de memoria sin inicializar, definido por un rango.
(plantilla de funcin) [editar]
Copia un objeto en un rea de memoria sin inicializar, definido por un rango.
(niebloid) [editar]
Copia un objeto a una zona de memoria sin inicializar, definido por un inicio y una cuenta.
(plantilla de funcin) [editar]
Copia un objeto a un rea de memoria sin inicializar, definido por un inicio y una cuenta.
(niebloid) [editar]
Mueve un rango de objetos a un rea de memoria sin inicializar.
(niebloid) [editar]
Mueve un rango de objetos a un rea de memoria sin inicializar.
(niebloid) [editar]
Mueve un nmero de objetos a un rea de memoria sin inicializar.
(niebloid) [editar]
Mueve un nmero de objetos a un rea de memoria sin inicializar.
(niebloid) [editar]
Construye objetos mediante la inicializacin por defecto en un rea de memoria sin inicializar, definido por un rango.
(plantilla de funcin) [editar]
Construye objetos mediante la

inicializacin por defecto en un rea de memoria sin inicializar, definido por un rango.
(niebloid) [editar]

Construye objetos mediante la inicializacin por defecto en un rea de memoria sin inicializar, definido por un inicio y una cuenta.
(plantilla de funcin) [editar]

(niebloid) [editar]
Construye objetos mediante la inicializacin de un valor en un rea de memoria sin inicializar, definido por un rango.
(niebloid) [editar]
Construye objetos mediante la inicializacin de un valor en un rea de memoria sin inicializar, definido por un rango.
(niebloid) [editar]
Construye objetos mediante la inicializacin de un valor en un rea de memoria sin inicializar, definido por un inicio y una cuenta.
(niebloid) [editar]
Construye objetos mediante la inicializacin de un valor en un rea de memoria sin inicializar, definido por un inicio y una cuenta.
(niebloid) [editar]
(C++17)
Destruye un rango de objetos.
(plantilla de funcin) [editar]
Destruye un rango de objetos.
(niebloid) [editar]
(C++17)
Destruye un nmero de objetos en un rango.
(plantilla de funcin) [editar]
Destruye un nmero de objetos en un rango.
(niebloid) [editar]
Destruye un objeto en una direccin dada.
(plantilla de funcin) [editar]
Destruye un objeto en una direccin dada.
(niebloid) [editar]
Crea un objeto en una direccin dada
(plantilla de funcin) [editar]
Crea un objeto en una direccin dada
(niebloid) [editar]
Biblioteca de C
Definido en el encabezado <cstdlib>
Ordena un intervalo de elementos con tipo no especificado.
(funcin) [editar]
Busca en un array por un elemento de tipo no especificado.
(funcin) [editar]


Vase tambin

Documentacin de C para Algoritmos

Web Proxy Viewer  |  New URL  |  Original Page