Метод insert
Метод insert класса set добавляет элементы в контейнер.
Множество set хранит только уникальные элементы, поэтому
повторная вставка уже существующего элемента не изменяет контейнер.
Метод имеет несколько перегрузок: можно вставить один элемент,
диапазон элементов или использовать версию с подсказкой позиции вставки.
Синтаксис
// вставка одного элемента
set.insert(value);
// вставка с подсказкой позиции
set.insert(hint, value);
// вставка диапазона элементов
set.insert(first, last);
Пример
Давайте создадим множество и добавим в него несколько элементов:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> st;
st.insert(3);
st.insert(1);
st.insert(2);
for (int x : st)
{
cout << x << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3
Пример
Давайте попробуем вставить уже существующий элемент и убедимся, что множество не изменится:
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> st = {1, 2, 3};
st.insert(2);
for (int x : st)
{
cout << x << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3
Пример
Давайте вставим диапазон элементов из другого контейнера:
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {4, 2, 5, 1, 3};
set<int> st = {1, 2, 3};
st.insert(vec.begin(), vec.end());
for (int x : st)
{
cout << x << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5