C++ STL中的unordered_multimap insert()函数

C++ STL中的unordered_multimap insert()函数

std::unordered_multimap::insert() 是C++ STL中的内置函数,可通过向unordered_multimap中插入新元素来扩展容器。此函数将容器大小增加一。insert()函数可用于插入单个键值对、完整的unordered_map、初始化列表插入等。

语法:

iterator insert(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)
{
    // 声明unordered_multimap
    unordered_multimap<char, int> cmap = {
        { 'B', 2 },
        { 'C', 3 },
        { 'D', 4 },
        { 'E', 5 },
    };
 
    //使用insert()插入键值对
    auto pos
        = cmap.insert(cmap.begin(),
                      pair<char, int>('A', 1));
 
    //输出插入新键值对的unordered_multimap
    for (auto x : cmap)
        cout << x.first << ": "
             << x.second << endl;
 
    return 0;
}  

输出:

A: 1
B: 2
C: 3
D: 4
E: 5

程序2:

#include <iostream>
#include <unordered_map>
 
using namespace std;
int main()
{
    //声明unordered_multimap
    unordered_multimap<char, int> cmap = {
        { 'b', 2 },
        { 'c', 3 },
        { 'd', 4 },
        { 'e', 5 },
    };
 
    unordered_multimap<char, int> dmap
        = { { 'A', 1 },
            { 'G', 6 } };
 
    //从开始到结束插入map
    cmap.insert(dmap.begin(), dmap.end());
 
    // 输出map
    for (auto x : cmap)
        cout << x.first << ": "
             << x.second << endl;
 
    return 0;
}  

输出:

G: 6
A: 1
b: 2
c: 3
d: 4
e: 5

程序3:

#include <iostream>
#include <unordered_map>
 
using namespace std;
int main()
{
    //声明unordered_multimap
    unordered_multimap<char, int> cmap = {
        { 'B', 2 },
        { 'C', 3 },
        { 'D', 4 },
        { 'E', 5 },
    };
 
    //插入新的列表
    cmap.insert({ { 'A', 1 },
                  { 'F', 6 },
                  { 'G', 7 } });
 
    // 输出map
    for (auto x : cmap)
        cout << x.first << ": "
             << x.second << endl;
 
    return 0;
}  

输出:

G: 7
F: 6
A: 1
B: 2
C: 3
D: 4
E: 5

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程