Metoda insert() wstawia elementy z jednego wektora lub tablicy w dowolne miejsce do drugiego wektora, przesuwając elementy stojące za nim w prawo i rozszerzając odpowiednio wielkość wektora. Wstawienie to jest wykonane w czasie liniowym w stosunku do elementów, które musi przesunąć. Funkcja ta może także wstawiać pojedynczą wartość na podobnej zasadzie jak funkcja emplace(element). W przypadku, gdy wstawiana jest zawartość całego wektora lub tablicy, należy wywołać tę metodę z trzema argumentami:
nazwa_wektora.insert([wskaźnik na element, przed który wstawiać będziemy zawartość obiektu], [wskaźnik na początkowy element w wektorze lub tablicy], [wskaźnik na końcowy element w wektorze lub tablicy];
W przypadku wstawienia pojedynczego elementu należy podać dwa argumenty: wskaźnik na element, przed który wstawiać będziemy element oraz wartość tego elementu.
Zadanie. Wstaw do wektora pierwszego liczby całkowite: 1 2 3 4 5, następnie wstaw liczby 6 7 8 9 do drugiego wektora. Zawartość drugiego wektora wstaw między wartością 1 i 2. Następnie wstaw liczbę 100 na początek i koniec wektora pierwszego. Wypisz jego zawartość po wykonaniu wszystkich czynności.
//algorytm.edu.pl
#include<iostream>
#include<vector>
using namespace std;
int main()
{
//stworzenie wektorów i nadanie im wartości początkowych
vector <int> tab1 = {1, 2, 3, 4, 5}, tab2 = {6, 7, 8, 9};
//wstawienie zawartości wektora drugiego do wektora 1 między liczby 1 i 2
tab1.insert(tab1.begin()+1, tab2.begin(), tab2.end());
//wstawienie na początek liczbę 100
tab1.insert(tab1.begin(), 100);
//wstwienie na koniec liczbę 100
tab1.insert(tab1.end(), 100);
//wypisanie zawartości wektora
for(int i=0; i<tab1.size(); i++)
cout<<tab1[i]<<' ';
return 0;
}
100 1 6 7 8 9 2 3 4 5 100
Zadanie. Wstaw do wektora pierwszego liczby całkowite: 1 2 3 4 5, następnie wstaw liczby 6 7 8 9 do zwykłej tablicy. Wypisz zawartość wektora po wykonaniu wszystkich czynności.
//algorytm.edu.pl
#include<iostream>
#include<vector>
using namespace std;
int main()
{
//stworzenie wektora i nadanie im wartości początkowych
vector <int> tab1 = {1, 2, 3, 4, 5};
//inicjacja tablicy liczb całkowitych
int tab2[4] = {6, 7, 8, 9};
//wstawienie zawartości tablicy do wektora między liczby 1 i 2
tab1.insert(tab1.begin()+1, tab2, tab2+4);
//wypisanie zawartości wektora
for(int i=0; i<tab1.size(); i++)
cout<<tab1[i]<<' ';
return 0;
}
1 6 7 8 9 2 3 4 5