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 и многому другому, см. Полный курс подготовки к собеседованию .