Bibliothèque d'algorithmes C ++ - fonction is_sorted_until ()

La description

La fonction C ++ std::algorithm::is_sorted_until()trouve le premier élément non trié de la séquence. Il utilise l' opérateur < pour la comparaison.

Déclaration

Voici la déclaration de la fonction std :: algorithm :: is_sorted_until () sous forme d'en-tête std :: algorithme.

C ++ 11

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

Paramètres

  • first - Transférer l'itérateur à la position initiale.

  • last - Transférer l'itérateur vers la position finale.

Valeur de retour

Renvoie un itérateur vers le premier élément non trié. Si toute la plage est triée, elle retourne en dernier .

Des exceptions

Lève une exception si la comparaison d'éléments ou une opération sur un itérateur lève une exception.

Veuillez noter que des paramètres non valides provoquent un comportement non défini.

Complexité temporelle

Linéaire.

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: algorithm :: 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

First unsorted element = 4
Entire vector is sorted.