Biblioteca de algoritmos C ++ - Función is_sorted_until ()

Descripción

La función C ++ std::algorithm::is_sorted_until()encuentra el primer elemento sin clasificar de la secuencia. Utiliza el operador < para comparar.

Declaración

A continuación se muestra la declaración para la función std :: algorítm :: is_sorted_until () del encabezado std :: algorítmico.

C ++ 11

template <class ForwardIterator>
ForwardIterator is_sorted_until(ForwardIterator first, ForwardIterator last);

Parámetros

  • first - Reenviar iterador a la posición inicial.

  • last - Reenviar el iterador a la posición final.

Valor devuelto

Devuelve un iterador al primer elemento sin clasificar. Si se ordena todo el rango, vuelve al final .

Excepciones

Lanza una excepción si la comparación de elementos o una operación en un iterador arroja una excepción.

Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.

Complejidad del tiempo

Lineal.

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: algorítm :: is_sorted_until ().

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void) {
   vector<int> v = {1, 2, 3, 5, 4};
   auto it = is_sorted_until(v.begin(), v.end());

   cout << "First unsorted element = " << *it << endl;

   v[3] = 4;

   it = is_sorted_until(v.begin(), v.end());

   if (it == end(v))
      cout << "Entire vector is sorted." << endl;

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

First unsorted element = 4
Entire vector is sorted.