multimap::emplace_hint()是C++ STL中的內置函數,該函數將鍵及其元素插入具有給定提示的multimap容器中。它可以有效地將容器大小增加1,因為multimap是存儲具有相同值的多個鍵的容器。所提供的提示不會影響要輸入的位置,它隻會增加插入速度,因為它指向要開始搜索排序的位置。它以相同的順序插入,隨後是容器。它的函數類似於multimap::emplace()函數,但有時比用戶準確提供位置的速度要快。
用法:
multimap_name.emplace_hint(position, key, element)
參數:該函數接受三個強製性參數鍵,如下所述:
- key -指定要在多圖容器中插入的鍵。
- element -指定要在多圖容器中插入的鍵的元素。
- position -指定從中開始排序搜索操作的位置,從而使插入速度更快。
返回值:該函數不返回任何內容。
// C++ program to illustrate the
// multimap::emplace_hint() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialize container
multimap<int, int> mp;
// insert elements in random order
mp.emplace_hint(mp.begin(), 2, 30); // faster
mp.emplace_hint(mp.begin(), 1, 40); // faster
mp.emplace_hint(mp.begin(), 2, 60); // slower
mp.emplace_hint(mp.begin(), 2, 20); // slower
mp.emplace_hint(mp.begin(), 1, 50); // faster
mp.emplace_hint(mp.begin(), 1, 50); // faster
// prints the elements
cout << "\nThe multimap is:\n";
cout << "KEY\tELEMENT\n";
for (auto itr = mp.begin(); itr != mp.end(); itr++)
cout << itr->first << "\t" << itr->second << endl;
return 0;
}
輸出:
The multimap is: KEY ELEMENT 1 50 1 50 1 40 2 20 2 60 2 30
相關用法
注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 multimap::emplace_hint() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。