Вставка unordered_map в C ++ STL
Unordered_map :: insert () - это встроенная функция в C ++ STL, которая используется для вставки элементов с определенным ключом в контейнер unordered_map. Эта функция увеличивает размер контейнера на 1. Эта функция не вставляет повторяющиеся записи. Возможны следующие варианты этой функции. Все это перегруженные функции.
Синтаксис-1:
iterator unordered_map_name.insert({key, element})
Параметры: эта функция принимает два аргумента в качестве входных параметров. ключ и его значение, которое нужно вставить.
Тип возвращаемого значения: функция возвращает итератор, указывающий на новый элемент в контейнере.
// C++ program to illustrate // unordered_map::insert({key, element}) #include <bits/stdc++.h> using namespace std; int main() { // initialize container unordered_map< int , int > ump; // insert elements in random order ump.insert({ 20, 130 }); ump.insert({ 100, 410 }); ump.insert({ 31, 60 }); // prints the elements cout << "KEY ELEMENT
" ; for ( auto itr = ump.begin(); itr != ump.end(); itr++) { cout << itr->first << ' ' << itr->second << '
' ; } return 0; } |
КЛЮЧЕВОЙ ЭЛЕМЕНТ 31 60 20 130 100 410
Синтаксис-2:
iterator unordered_map_name.insert(iterator position, {key, element})
Эта функция вставляет элемент в unordered_map после в указанной позиции.
Параметры: ключ параметров и элементы такие же, как в функции типа 1, но позиция - это то место, откуда выполняется операция поиска для вставки элемента в контейнер.
Возвращаемое значение Функция возвращает итератор, указывающий на новый элемент в контейнере.
Программа ниже четко иллюстрирует синтаксис выше.
// C++ program to illustrate // unordered_map::insert(iterator position, {key, element}) #include <bits/stdc++.h> using namespace std; int main() { // initialize container unordered_map< char , int > ump; // insert elements in random order ump.insert({ 'a' , 1 }); ump.insert({ 'b' , 2 }); auto it = ump.find( 'a' ); // inserts {3, 6} starting the search from // position where 2 is present ump.insert(it, { 'c' , 3 }); // prints the elements cout << "KEY ELEMENT
" ; for ( auto itr = ump.begin(); itr != ump.end(); ++itr) { cout << itr->first << ' ' << itr->second << '
' ; } return 0; } |
КЛЮЧЕВОЙ ЭЛЕМЕНТ c 3 а 1 Би 2
Синтаксис-3:
iterator unordered_map_name.insert(iterator position1, iterator position2)
Параметры: эта функция принимает два параметра position1 и position2, которые определяют диапазон, в котором все элементы между этим диапазоном вставляются в другой контейнер, включая элемент в позиции 1, но исключая элемент в позиции 2.
Возвращаемое значение Функция возвращает итератор, указывающий на новый элемент в контейнере.
Программа ниже четко иллюстрирует синтаксис выше.
// C++ program to illustrate // unordered_map::insert(iterator position1, iterator position2) #include <bits/stdc++.h> using namespace std; int main() { // initialize container unordered_map< int , int > ump, ump1; // insert elements in random order ump.insert({ 2, 20 }); ump.insert({ 1, 10 }); ump.insert({ 3, 30 }); // inserts all elements in range // [begin, end) in mp1 // this function is used to copy elements // between containers. ump1.insert(ump.begin(), ump.end()); // prints the elements cout << "Elements in ump1 are
" ; cout << "KEY ELEMENT
" ; for ( auto itr = ump1.begin(); itr != ump1.end(); ++itr) { cout << itr->first << ' ' << itr->second << '
' ; } return 0; } |
Элементы в ump1: КЛЮЧЕВОЙ ЭЛЕМЕНТ 1 10 2 20 3 30