std::partial_sort_copy
![]() | Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate. La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
Definido en el archivo de encabezado <algorithm> | ||
template<class InputIt, class RandomIt > RandomIt partial_sort_copy( InputIt first, InputIt last, | (1) | |
template<class InputIt, class RandomIt, class Compare > RandomIt partial_sort_copy( InputIt first, InputIt last, | (2) | |
[first, last)
en orden ascendente. En la mayoría d_first - d_last de los elementos se mueven a la [d_first, d_first + n)
rango y luego ordenados. n
es el número de elementos a ordenar (n = min(last - first, d_last - d_first)). El orden de los elementos iguales no se garantiza que se mantendrá. La primera versión utiliza operator< para comparar los elementos, la segunda versión utiliza la función de comparación dado comp
.[first, last)
in ascending order. At most d_first - d_last of the elements are moved to the range [d_first, d_first + n)
and then sorted. n
is the number of elements to sort (n = min(last - first, d_last - d_first)). The order of equal elements is not guaranteed to be preserved. The first version uses operator< to compare the elements, the second version uses the given comparison function comp
.You can help to correct and verify the translation. Click here for instructions.
Contenido |
[editar]Parámetros
first, last | - | la gama de elementos a ordenar Original: the range of elements to sort The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
d_first, d_last | - | iteradores de acceso aleatorio que definen el rango de destino Original: random access iterators defining the destination range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
comp | - | objeto función de comparación (es decir, un objeto que satisface los requerimientos de Compare) que devuelve true si el primer argumento es menor que el segundo. La signatura de la función de comparación deberá ser equivalente a lo siguiente: bool cmp(const Type1 &a, const Type2 &b); Mientras que la signatura no necesita ser const&, la función no debe modificar los objetos que se le pasaron y debe admitir todos los valores de los tipos (posiblemente |
Requisitos de tipo | ||
-InputIt debe reunir los requerimientos de InputIterator . | ||
-RandomIt debe reunir los requerimientos de ValueSwappable y RandomAccessIterator . | ||
-The type of dereferenced RandomIt must meet the requirements of MoveAssignable and MoveConstructible . |
[editar]Valor de retorno
You can help to correct and verify the translation. Click here for instructions.
[editar]Complejidad
cmp
.cmp
.You can help to correct and verify the translation. Click here for instructions.
[editar]Ejemplo
You can help to correct and verify the translation. Click here for instructions.
#include <algorithm>#include <vector>#include <functional>#include <iostream> int main(){std::vector<int> v0{4, 2, 5, 1, 3};std::vector<int> v1{10, 11, 12};std::vector<int> v2{10, 11, 12, 13, 14, 15, 16};std::vector<int>::iterator it; it = std::partial_sort_copy(v0.begin(), v0.end(), v1.begin(), v1.end()); std::cout<<"Writing to the smaller vector in ascending order gives: ";for(int a : v1){std::cout<< a <<" ";}std::cout<<'\n';if(it == v1.end())std::cout<<"The return value is the end iterator\n"; it = std::partial_sort_copy(v0.begin(), v0.end(), v2.begin(), v2.end(), std::greater<int>()); std::cout<<"Writing to the larger vector in descending order gives: ";for(int a : v2){std::cout<< a <<" ";}std::cout<<'\n'<<"The return value is the iterator to "<<*it <<'\n';}
Salida:
Writing to the smaller vector in ascending order gives: 1 2 3 The return value is the end iterator Writing to the larger vector in descending order gives: 5 4 3 2 1 15 16 The return value is the iterator to 15
[editar]Ver tambié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) | |
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 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) |