Metoda emplace() wstawia nowy element w dowolne miejsce z wektorze, przesuwając elementy stojące za nim w prawo, rozszerzając odpowiednio wielkość wektora. Robi to w czasie liniowym w stosunku do elementów, które musi przesunąć. Do wstawienia nowych danych wykorzystuje iterator, który należy ustawić na pozycję, przed którą będą wstawione nowe wartości.
Zadanie. Wstaw do wektora liczby całkowite: 1 2 3 4 5, następnie wstaw liczby 6 7 8 9 między wartością 1 i 2. Wypisz zawartość wektora po wykonaniu powyższych czynności.
//algorytm.edu.pl
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector <int> liczby;
vector <int>::iterator it;
//wstaw kolejno liczby: 1, 2, 3, 4 do wektora o nazwie liczby
liczby.push_back(1);
liczby.push_back(2);
liczby.push_back(3);
liczby.push_back(4);
//ustaw iterator na drugi element wektora
it = liczby.begin() + 1;
//wstaw przed drugim elementem liczbę 5
liczby.emplace (it, 5);
it = liczby.begin() + 2;
liczby.emplace (it, 6);
it = liczby.begin() + 3;
liczby.emplace (it, 7);
for(int i=0; i<liczby.size(); i++)
cout<<liczby[i]<<' ';
return 0;
}