Espacios de nombres
Variantes
Acciones

std::is_sorted

De cppreference.com
< cpp‎ | algorithm
 
 
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
is_sorted
(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 ForwardIt >
bool is_sorted( ForwardIt first, ForwardIt last );
(1) (desde C++11)
template<class ForwardIt, class Compare >
bool is_sorted( ForwardIt first, ForwardIt last, Compare comp );
(2) (desde C++11)

Checks if the elements in range [first, last) are sorted in ascending order. The first version of the function uses operator< to compare the elements, the second uses the given comparison function comp.

Contenido

[editar]Parámetros

first, last -
la gama de elementos a examinar
Original:
the range of elements to examine
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 ForwardIt puede ser desreferenciado y luego convertido implícitamente a ambos. ​

Requisitos de tipo
-
ForwardIt debe reunir los requerimientos de ForwardIterator.

[editar]Valor de retorno

true if the elements in the range are sorted in ascending order

[editar]Complejidad

lineal en la distancia entre first y last
Original:
linear in the distance between first and last
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Posible implementación

Primera versión
template<class ForwardIt>bool is_sorted(ForwardIt first, ForwardIt last){returnstd::is_sorted_until(first, last)== last;}
Segunda versión
template<class ForwardIt, class Compare>bool is_sorted(ForwardIt first, ForwardIt last, Compare comp){returnstd::is_sorted_until(first, last, comp)== last;}

[editar]Ejemplo

#include <iostream>#include <algorithm>   int main(){constint N =5;int digits[N]={3, 1, 4, 1, 5};   for(auto i : digits)std::cout<< i <<' ';std::cout<<": is_sorted: "<< std::is_sorted(digits, digits+N)<<'\n';   std::sort(digits, digits+N);   for(auto i : digits)std::cout<< i <<' ';std::cout<<": is_sorted: "<< std::is_sorted(digits, digits+N)<<'\n';}

Salida:

3 1 4 1 5 : is_sorted: 0 1 1 3 4 5 : is_sorted: 1

[editar]Ver también

Encuentra el subrango ordenado más grande.
(plantilla de función)[editar]
close