Espacios de nombres
Variantes
Acciones

Diferencia entre revisiones de «cpp/algorithm/sort»

De cppreference.com
< cpp‎ | algorithm
(Translated from the English version using Google Translate)
 
m (Use {{lc}}. Update links. Various fixes.)
 
(No se muestran 4 ediciones intermedias realizadas por 3 usuarios)
Línea 1: Línea 1:
 +
 
{{cpp/title|sort}}
 
{{cpp/title|sort}}
 
{{cpp/algorithm/navbar}}
 
{{cpp/algorithm/navbar}}
{{ddcl list begin}}
+
{{begin}}
{{ddcl list header | algorithm}}
+
{{header | algorithm}}
{{ddcl list item | num=1 |
+
{{| num=1 |
 
template< class RandomIt >
 
template< class RandomIt >
 
void sort( RandomIt first, RandomIt last );
 
void sort( RandomIt first, RandomIt last );
 
}}
 
}}
{{ddcl list item | num=2 |
+
{{| num=2 |
 
template< class RandomIt, class Compare >
 
template< class RandomIt, class Compare >
 
void sort( RandomIt first, RandomIt last, Compare comp );
 
void sort( RandomIt first, RandomIt last, Compare comp );
 
}}
 
}}
{{ddcl list end}}
+
{{end}}
  
 
{{tr|Ordena los elementos de la {{tt|[first, last)}} rango en orden ascendente. El orden de los elementos iguales no se garantiza que se mantendrá. La primera versión utiliza {{c|operator<}} para comparar los elementos, la segunda versión utiliza la función de comparación dado {{tt|comp}} .|Sorts the elements in the range {{tt|[first, last)}} in ascending order. The order of equal elements is not guaranteed to be preserved. The first version uses {{c|operator<}} to compare the elements, the second version uses the given comparison function {{tt|comp}}.}}
 
{{tr|Ordena los elementos de la {{tt|[first, last)}} rango en orden ascendente. El orden de los elementos iguales no se garantiza que se mantendrá. La primera versión utiliza {{c|operator<}} para comparar los elementos, la segunda versión utiliza la función de comparación dado {{tt|comp}} .|Sorts the elements in the range {{tt|[first, last)}} in ascending order. The order of equal elements is not guaranteed to be preserved. The first version uses {{c|operator<}} to compare the elements, the second version uses the given comparison function {{tt|comp}}.}}
  
 
===Parámetros===
 
===Parámetros===
{{param list begin}}
+
{{begin}}
{{param list item | first, last |{{tr| la gama de elementos a ordenar| the range of elements to sort}}}}
+
{{| first, last |{{tr| la gama de elementos a ordenar| the range of elements to sort}}}}
{{param list cmp | comp | p1=RandomIt}}  
+
{{cmp | comp | p1=RandomIt}}  
{{param list hreq}}
+
{{hreq}}
{{param list req concept | RandomIt | RandomAccessIterator | ValueSwappable}}
+
{{req concept | RandomIt | RandomAccessIterator | ValueSwappable}}
{{param list req concept deref | RandomIt | MoveConstructible | MoveAssignable}}
+
{{req concept deref | RandomIt | MoveConstructible | MoveAssignable}}
{{param list end}}
+
{{end}}
  
 
===Valor de retorno===
 
===Valor de retorno===
Línea 61: Línea 62:
  
 
===Ver también===
 
===Ver también===
{{dcl list begin}}
+
{{begin}}
{{dcl list template | cpp/algorithm/dcl list partial_sort}}
+
{{| cpp/algorithm/partial_sort}}
{{dcl list template | cpp/algorithm/dcl list stable_sort}}
+
{{| cpp/algorithm/stable_sort}}
{{dcl list end}}
+
{{end}}
  
 +
 +
 +
 +
 +
 +
 
[[ru:cpp/algorithm/sort]]
 
[[ru:cpp/algorithm/sort]]
 
[[zh:cpp/algorithm/sort]]
 
[[zh:cpp/algorithm/sort]]

Última revisión de 22:59 1 jul 2013

 
 
Biblioteca de algoritmos
Políticas de ejecución (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 partición
Operaciones de ordenación
(C++11)
Operaciones de búsqueda binaria
Operaciones de conjuntos (en rangos ordenados)
Operaciones de pila
(C++11)
Operaciones mínimo/máximo
(C++11)
(C++17)
Permutaciones
Operaciones numéricas
Bibliotecas C
 
Definido en el archivo de encabezado <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 - 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 const) Type1 y Type2 a pesar de la categoría de valor (por consiguiente, no se permite a Type1 & , ni tampoco a Type1 a menos que para Type1 un movimiento sea equivalente a una copia (desde C++11)).
Los tipos Type1 y Type2 deben ser tales que un objeto de tipo RandomIt puede ser desreferenciado y luego convertido implícitamente a ambos. ​

Requisitos 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]