Libreria di algoritmi C ++ - Funzione inplace_merge ()
Descrizione
La funzione C ++ std::algorithm::inplace_merge()unisce due sequenze ordinate sul posto. Usa la funzione binaria; per confronto.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: algoritmo :: inplace_merge () modulo std :: intestazione algoritmo.
C ++ 98
template <class BidirectionalIterator, class Compare>
void inplace_merge (BidirectionalIterator first, BidirectionalIterator middle,
BidirectionalIterator last, Compare comp);
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.
comp - Una funzione binaria che accetta due argomenti e restituisce bool.
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;
bool descending_sort(int a, int b) {
return (a > b);
}
int main(void) {
vector<int> v = {3, 1, 5, 4, 2};
inplace_merge(v.begin(), v.begin() + 2, v.end(), descending_sort);
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:
5
4
3
2
1