当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ unordered_multimap insert()用法及代码示例


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

用法:

iterator insert(const_iterator position, const value_type& val);

参数:此方法采用以下参数:


  • Position:插入元素的位置
  • Value:要插入的值

返回值:此方法返回指向新插入元素的迭代器。

时间复杂度:

  • 一般情况下为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; 
}
输出:
A:1
B:2
C:3
D: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
A:1
b:2
c:3
d: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
F:6
A:1
B:2
C:3
D:4
E:5


相关用法


注:本文由纯净天空筛选整理自Chaitanya Tyagi大神的英文原创作品 unordered_multimap insert() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。