unordered_map::insert()是C++ STL中的内置函数,用于在unordered_map容器中插入具有特定键的元素。此函数将容器大小增加1。此函数不会插入重复的条目。此函数有以下变体。全部都是重载函数。语法1:
iterator unordered_map_name.insert({key, element})
参数:该函数将两个参数作为输入参数。键及其要插入的值。
返回类型:该函数返回一个指向容器中新元素的迭代器。
// C++ program to illustrate
// unordered_map::insert({key, element})
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialize container
unordered_map<int, int> ump;
// insert elements in random order
ump.insert({ 20, 130 });
ump.insert({ 100, 410 });
ump.insert({ 31, 60 });
// prints the elements
cout << "KEY\tELEMENT\n";
for (auto itr = ump.begin(); itr != ump.end(); itr++) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
KEY ELEMENT 31 60 20 130 100 410
语法2:
iterator unordered_map_name.insert(iterator position, {key, element})
此函数在指定位置之后在unordered_map中插入元素。
参数:参数key和elements与类型1的函数相同,但是位置是执行搜索操作以将元素插入容器的位置。
返回值该函数返回一个指向容器中新元素的迭代器。
下面的程序清楚地说明了上面的语法。
// C++ program to illustrate
// unordered_map::insert(iterator position, {key, element})
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialize container
unordered_map<char, int> ump;
// insert elements in random order
ump.insert({ 'a', 1 });
ump.insert({ 'b', 2 });
auto it = ump.find('a');
// inserts {3, 6} starting the search from
// position where 2 is present
ump.insert(it, { 'c', 3 });
// prints the elements
cout << "KEY\tELEMENT\n";
for (auto itr = ump.begin(); itr != ump.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
KEY ELEMENT c 3 a 1 b 2
语法3:
iterator unordered_map_name.insert(iterator position1, iterator position2)
参数:此函数接受两个参数position1和position2,它们指定范围内的所有元素插入到另一个容器中,该范围包括位置1处的元素,但位置2处的元素除外。
返回值该函数返回一个指向容器中新元素的迭代器。
下面的程序清楚地说明了上面的语法。
// C++ program to illustrate
// unordered_map::insert(iterator position1, iterator position2)
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialize container
unordered_map<int, int> ump, ump1;
// insert elements in random order
ump.insert({ 2, 20 });
ump.insert({ 1, 10 });
ump.insert({ 3, 30 });
// inserts all elements in range
// [begin, end) in mp1
// this function is used to copy elements
// between containers.
ump1.insert(ump.begin(), ump.end());
// prints the elements
cout << "Elements in ump1 are\n";
cout << "KEY\tELEMENT\n";
for (auto itr = ump1.begin(); itr != ump1.end(); ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
Elements in ump1 are KEY ELEMENT 1 10 2 20 3 30
相关用法
- C++ map insert()用法及代码示例
- C++ std::string::insert()用法及代码示例
- C++ multimap insert()用法及代码示例
- C++ set insert()用法及代码示例
- C++ list insert()用法及代码示例
- C++ unordered_multimap insert()用法及代码示例
- C++ deque insert()用法及代码示例
- C++ multiset insert()用法及代码示例
- C++ vector insert()用法及代码示例
- C++ unordered_set insert()用法及代码示例
- C++ unordered_multiset insert()用法及代码示例
注:本文由纯净天空筛选整理自ankit15697大神的英文原创作品 unordered_map insert in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。