std::is_sorted - cppreference.com
De cppreference.com
|
|
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 |
||
|
|
(1) | (desde C++11) |
|
|
(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.
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. |
| 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:
Mientras que la signatura no necesita ser |
| Requisitos de tipo | ||
-ForwardIt debe reunir los requerimientos de ForwardIterator.
| ||
Valor de retorno
true if the elements in the range are sorted in ascending order
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.
Posible implementación
| Primera versión |
|---|
template<class ForwardIt> bool is_sorted(ForwardIt first, ForwardIt last) { return std::is_sorted_until(first, last) == last; } |
| Segunda versión |
template<class ForwardIt, class Compare> bool is_sorted(ForwardIt first, ForwardIt last, Compare comp) { return std::is_sorted_until(first, last, comp) == last; } |
Ejemplo
#include <iostream> #include <algorithm> int main() { const int 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