Libreria di algoritmi C ++ - funzione inplace_merge ()
Descrizione
La funzione C ++ std::algorithm::inplace_merge()unisce due sequenze ordinate sul posto. Utilizza l' operatore < per il confronto.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: algoritmo :: inplace_merge () modulo std :: intestazione algoritmo.
C ++ 98
template <class BidirectionalIterator>
void inplace_merge (BidirectionalIterator first,
BidirectionalIterator middle,BidirectionalIterator last);
Parametri
first - Iteratore bidirezionale alla posizione iniziale della prima sequenza.
middle - Iteratore bidirezionale alla posizione iniziale della seconda sequenza.
last - Iteratore bidirezionale alla posizione oltre la fine della seconda sequenza.
Valore di ritorno
Nessuna
Eccezioni
Genera un'eccezione se il confronto di elementi o un'operazione di scambio o un'operazione su un iteratore genera un'eccezione.
Tieni presente che i parametri non validi causano un comportamento indefinito.
Complessità temporale
Lineare.
Esempio
L'esempio seguente mostra l'utilizzo della funzione std :: algoritmo :: 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;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
1
2
3
4
5