在C++ STL中使用unordered_map insert函数

在C++ STL中使用unordered_map insert函数

unordered_map ::insert()是C++ STL中的一个内置函数,用于将具有特定键的元素插入unordered_map容器中。此函数会增加容器的大小1个。此函数不会插入重复的条目。此函数有以下变体。所有这些都是重载函数。

语法1:

iterator unordered_map_name.insert({key,element})

参数:此函数接受两个输入参数。key和要插入的值。

返回类型:该函数返回一个指向容器中新元素的迭代器。

// C++程序示例
// unordered_map::insert({key, element})
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // 初始化容器
    unordered_map<int,int> ump;
 
    // 以随机顺序插入元素
    ump.insert({20,130);
    ump.insert({100,410);
    ump.insert({31,60);
 
    // 打印元素
    cout<<"KEY\tELEMENT\n";
    for(auto itr = ump.begin(); itr!= ump.end(); itr ++){
        cout << itr->first
             <<'\\t' << itr->second <<'\\n';
    }
    返回0;
}
KEY    ELEMENT
31    60
20    130
100    410

语法2:

iterator unordered_map_name.insert(iterator position,{key,element})

此函数在指定位置之后在unordered_map中插入元素。

参数:类型1中的参数key和element与此函数相同,但是位置是从搜索操作执行插入元素到容器的位置。

返回值:该函数返回一个指向容器中新元素的迭代器。

下面的程序清楚地说明了上述语法。

// C++程序示例
// unordered_map::insert(iterator position,{key,element})
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // 初始化容器
    unordered_map<char,int> ump;
 
    // 以随机顺序插入元素
    ump.insert({ 'a',1);
    ump.insert({ 'b',2);
 
    auto it = ump.find('a');
 
    // 从位置2开始搜索(即从元素2开始)
    //插入{3,6}
    ump.insert(it,{'c',3);
 
    // 打印元素
    cout<<"KEY\tELEMENT\n";
    for(auto itr = ump.begin(); itr!= ump.end(); ++itr){
        cout << itr->first
             <<'\\t' << itr->second <<'\\n';
    }
    返回0;
}
KEY    ELEMENT
c    3
a    1
b    2

语法3:

iterator unordered_map_name.insert(iterator position1,iterator position2)

参数:此函数接受两个参数position1和position2,它们指定此范围内的所有元素都插入到另一个容器中,包括position1处的元素但不包括position2处的元素。

返回值:该函数返回一个指向容器中新元素的迭代器。

下面的程序清楚地说明了上述语法。

// C++程序展示unordered_map::insert(iterator position1, iterator position2)
#include <bits/stdc++.h>
using namespace std;
   
int main()
{
   
    // 初始化容器
    unordered_map<int, int> ump, ump1;
   
    // 以随机顺序插入元素
    ump.insert({ 2, 20 });
    ump.insert({ 1, 10 });
    ump.insert({ 3, 30 });
   
    // 将所有元素插入到mp1中的范围[begin,end)中
    // 此函数用于在容器之间复制元素。
    ump1.insert(ump.begin(), ump.end());
   
    // 打印元素
    cout << "ump1中的元素是\n";
    cout << "关键词\t元素\n";
    for (auto itr = ump1.begin(); itr != ump1.end(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}
ump1中的元素是
关键词    元素
1    10
2    20
3    30

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程