Метод insert
Метод insert вставляет элементы в вектор по указанной позиции. Первым параметром метод принимает итератор, указывающий на позицию, перед которой следует вставить элементы. Вторым параметром может быть значение для вставки, количество копий и значение, диапазон итераторов или список инициализации. Метод возвращает итератор на первый вставленный элемент.
Синтаксис
vec.insert(pos, value)
vec.insert(pos, count, value)
vec.insert(pos, first, last)
vec.insert(pos, {a, b, c})
Пример
Давайте вставим число 10 в вектор {1, 2, 3} перед вторым элементом:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3};
vec.insert(vec.begin() + 1, 10);
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 10 2 3
Пример
Давайте вставим три копии числа 7 в конец вектора {1, 2, 3}:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3};
vec.insert(vec.end(), 3, 7);
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 7 7 7
Пример
Давайте вставим диапазон элементов из одного вектора в другой. Скопируем элементы {3, 4} в начало вектора {1, 2}:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> source = {3, 4};
vector<int> vec = {1, 2};
vec.insert(vec.begin(), source.begin(), source.end());
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
3 4 1 2
Пример
Давайте вставим список инициализации {8, 9} в середину вектора {1, 2, 3, 4}:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4};
vec.insert(vec.begin() + 2, {8, 9});
for (int el : vec) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 8 9 3 4