Espacios de nombres
Variantes
Acciones

std::sort

De cppreference.com
< cpp‎ | algorithm

 
 
Biblioteca de algoritmos
Políticas de ejecución (C++17)
Operaciones no modificadoras de secuencia
(C++11)(C++11)(C++11)
(C++17)
Operaciones modificadoras de secuencia
Operaciones en almacenamiento no inicializado
Operaciones de partición
Operaciones de ordenación
(C++11)
Operaciones de búsqueda binaria
Operaciones de set (en rangos ordenados)
Operaciones de pila
(C++11)
Operaciones minimo/maximo
(C++11)
(C++17)
Permutaciones
Operaciones numéricas
Bibliotecas C
 
Definido en la cabecera <algorithm>
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
(1)
template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );
(2)
Ordena los elementos de la [first, last) rango en orden ascendente. 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 .
Original:
Sorts the elements in the range [first, last) in ascending order. 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.
The text has been machine-translated via Google Translate.
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.
comp - comparison function which returns ​true if the first argument is less than the second.

The signature of the comparison function should be equivalent to the following:

 bool cmp(const Type1 &a, const Type2 &b);

The signature does not need to have const &, but the function must not modify the objects passed to it.
The types Type1 and Type2 must be such that an object of type RandomIt can be dereferenced and then implicitly converted to both of them. ​

Requerimientos de tipo
-
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

(Ninguno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Complejidad

O(N·log(N)), donde las aplicaciones N = std::distance(first, last) de cmp .
Original:
O(N·log(N)), where N = std::distance(first, last) applications of cmp.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Ejemplo

#include <algorithm>
#include <functional>
#include <array>
#include <iostream>
 
int main()
{
    std::array<int, 10> s{5, 7, 4, 2, 8, 6, 1, 9, 0, 3};
 
    std::sort(s.begin(), s.end());
    for (int a : s) {
        std::cout << a << " ";
    } 
    std::cout << '\n';
 
    std::sort(s.begin(), s.end(), std::greater<int>());
    for (int a : s) {
        std::cout << a << " ";
    } 
    std::cout << '\n';
}

Salida:

0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0

[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) [editar]
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) [editar]