C++ 無序多對映庫 - insert() 函式



描述

C++ 函式 **std::unordered_multimap::insert()** 使用移動語義擴充套件容器,透過插入新元素到無序多對映中。此函式使容器大小增加一。

宣告

以下是來自 std::unordered_map() 標頭檔案的 std::unordered_multimap::insert() 函式宣告。

C++11

template <class P>
iterator insert(const_iterator position, P&& val);

引數

  • **position** - 插入元素位置的提示。

  • **val** - 要插入的值。

返回值

返回一個指向新插入元素的迭代器。

時間複雜度

平均情況為常數,即 O(1)。

最壞情況為線性,即 O(n)。

示例

以下示例演示了 std::unordered_multimap::insert() 函式的用法。

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_multimap<char, int> umm = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
         {'e', 5},
            };

   auto pos = umm.insert(umm.begin(), move(pair<char, int>('a', 1)));

   cout << "After inserting new element iterator poinst to "
       << pos->first << " = " << pos->second << endl;

   return 0;
}

讓我們編譯並執行上述程式,這將產生以下結果:

After inserting new element iterator poinst to a = 1
unordered_map.htm
廣告