📜  C++ STL中的unordered_multimap insert()

📅  最后修改于: 2021-05-30 12:03:24             🧑  作者: Mango

函数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 
#include 
  
using namespace std;
int main(void)
{
    // Declare unordered_multimap
    unordered_multimap cmap = {
        { 'B', 2 },
        { 'C', 3 },
        { 'D', 4 },
        { 'E', 5 },
    };
  
    // insert a key-value pair using insert()
    auto pos
        = cmap.insert(cmap.begin(),
                      pair('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 
#include 
  
using namespace std;
int main()
{
    // Declare unordered_multimap
    unordered_multimap cmap = {
        { 'b', 2 },
        { 'c', 3 },
        { 'd', 4 },
        { 'e', 5 },
    };
  
    unordered_multimap 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 
#include 
  
using namespace std;
int main()
{
    // Declare unordered_multimap
    unordered_multimap 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”