unordered_multimap insert () в C ++ STL

Опубликовано: 3 Декабря, 2021

Функция std :: unordered_multimap :: insert () - это встроенная функция в C ++ STL, которая расширяет контейнер, вставляя новый элемент в unordered_multimap. Эта функция увеличивает размер контейнера на единицу. Функцию insert () можно использовать для вставки одной пары ключ-значение, полной unordered_map, вставки инициализированного списка и т. Д.

Синтаксис:

 вставка итератора (const_iterator position, const value_type & val);

Параметры: этот метод принимает следующие параметры:

  • Позиция: позиция для вставки элемента
  • Значение: значение, которое нужно вставить

Возвращаемое значение: этот метод возвращает итератор, указывающий на вновь вставленный элемент.

Сложность времени:

  • O (1) в среднем случае
  • O (n) в худшем случае

Ниже программы иллюстрируют функцию unordered_multimap :: insert :

Программа 1:

#include <iostream>
#include <unordered_map>
using namespace std;
int main( void )
{
// Declare unordered_multimap
unordered_multimap< char , int > cmap = {
{ 'B' , 2 },
{ 'C' , 3 },
{ 'D' , 4 },
{ 'E' , 5 },
};
// insert a key-value pair using insert()
auto pos
= cmap.insert(cmap.begin(),
pair< char , int >( 'A' , 1));
// print the map with the newly inserted key-value pair
for ( auto x : cmap)
cout << x.first << ": "
<< x.second << endl;
return 0;
}
Выход:
А: 1
БИ 2
С: 3
Д: 4
E: 5

Программа 2:

#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
// Declare unordered_multimap
unordered_multimap< char , int > cmap = {
{ 'b' , 2 },
{ 'c' , 3 },
{ 'd' , 4 },
{ 'e' , 5 },
};
unordered_multimap< char , int > dmap
= { { 'A' , 1 },
{ 'G' , 6 } };
// Insert the map from begin to end
cmap.insert(dmap.begin(), dmap.end());
// Print the map
for ( auto x : cmap)
cout << x.first << ": "
<< x.second << endl;
return 0;
}
Выход:
G: 6
А: 1
Би 2
с: 3
г: 4
e: 5

Программа 3:

#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
// Declare unordered_multimap
unordered_multimap< char , int > cmap = {
{ 'B' , 2 },
{ 'C' , 3 },
{ 'D' , 4 },
{ 'E' , 5 },
};
// Insert a new list
cmap.insert({ { 'A' , 1 },
{ 'F' , 6 },
{ 'G' , 7 } });
// Print the map
for ( auto x : cmap)
cout << x.first << ": "
<< x.second << endl;
return 0;
}
Выход:
G: 7
Ж: 6
А: 1
БИ 2
С: 3
Д: 4
E: 5
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .