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

La description

La fonction C ++ std::algorithm::inplace_merge()fusionne deux séquences triées sur place. Il utilise l' opérateur < pour la comparaison.

Déclaration

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

C ++ 98

template <class BidirectionalIterator>
void inplace_merge (BidirectionalIterator first,
   BidirectionalIterator middle,BidirectionalIterator last);

Paramètres

  • first - Itérateur bidirectionnel à la position initiale de la première séquence.

  • middle - Itérateur bidirectionnel vers la position initiale de la deuxième séquence.

  • last - Itérateur bidirectionnel vers la position après la fin de la deuxième séquence.

Valeur de retour

Aucun

Des exceptions

Lève une exception si la comparaison d'éléments ou l'opération d'échange 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 :: inplace_merge ().

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

using namespace std;

int main(void) {
   vector<int> v = {1, 3, 2, 4, 5};

   inplace_merge(v.begin(), v.begin() + 2, v.end());

   for (auto it = v.begin(); it != v.end(); ++it)
      cout << *it << endl;

   return 0;
}

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

1
2
3
4
5