當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。