std::is_sorted
|
|
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 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.
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:
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
first y lastfirst and lastYou 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
Ver también
(C++11) |
Encuentra el subrango ordenado más grande. (plantilla de función) |